Slashdot Mirror


DirectX 10 & the Future of Gaming

Homogeneous Cow writes "Brent Justice at [H] Enthusiast has put together a quick look at what DX10 has to offer gamers and what the main differences are between that and our current DX9. Unified Architecture and Small Batch Problems are shown to be addressed. There are a lot of ATI slides supporting the text as well." From the article: "The obvious question for the gamer that arises is, 'Will this terribly expensive and arduous upgrade path positively impact my gaming experience enough to justify the cost?' That has yet to be seen and can only be answered with the games we have yet to play. We can however discuss some of capabilities of DirectX 10 with a unified architecture and how it can potentially benefit gamers."

21 of 93 comments (clear)

  1. No thanks. by Stavr0 · · Score: 3, Insightful
    You will not find DirectX 10 being released for the Windows XP operating system. DirectX 10 is deeply embedded into Windows Vista operation and we currently know of no plans by Microsoft to allow Windows XP to officially support the new API.

    Essentially, any game requiring DX10 support will screw itself out of an audience. A lot of people are not about to sacrifice a working XP install just to get some new game.
    Especially if it means that losing 50% of multimedia functionality due to mandatory Digital Restrictions Management being enforced at the OS level.

    1. Re:No thanks. by Surt · · Score: 4, Insightful

      Yep, it'll no doubt be a dismal failure the likes of which have not been seen since the time that technology was developed that required everyone to have win95 and excluded all the dos & win3.x users ... what was it called ... oh yeah, DirectX 1.0.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:No thanks. by Kjella · · Score: 3, Insightful

      Essentially, any game requiring DX10 support will screw itself out of an audience. A lot of people are not about to sacrifice a working XP install just to get some new game. Especially if it means that losing 50% of multimedia functionality due to mandatory Digital Restrictions Management being enforced at the OS level.

      A lot of people will get Vista on their new computer. The gaming freaks will upgrade if needed. And despite all the BS, DRM-less content will not stop functioning. What will happen is simply that you will have "Vista-only" services with hard DRM. I seriously don't get this argument, and those that think it will be a major showstopper/exodus to Linux over it. Vista will play all content where the DRM is broken and all the content where the DRM isn't broken yet. Hint: XP and Linux can only do one of two.

      --
      Live today, because you never know what tomorrow brings
    3. Re:No thanks. by plague3106 · · Score: 2, Insightful

      I'd like to see a lot of money thrown into OpenGL 2.0 so that all the 'features' that are needed are in there and ready to rock (and easily upgraded when necessary). Then all game companies dump DX* as a secondary/backup way to play the games with OpenGL being the main. It would also make porting somewhat easier I would imagine.

      While I would love this as well, it won't happen until OpenGL starts including audio, input control and network control as a single integrated library. Right now, you'll get the great graphics, but game devs have to do ALOT more work for input, audio and networking.

    4. Re:No thanks. by Trelane · · Score: 3, Insightful
      Right now, you'll get the great graphics, but game devs have to do ALOT more work for input, audio and networking.
      No kidding. OpenGL is great. Now, if only we had a Simple, direct media layer to plug into. If that were coupled with an Open Audio Library for 3D audio, surely people would make a ton of cross-platform games!
      --

      --
      Given enough personal experience, all stereotypes are shallow.
  2. Quick Overview by AKAImBatman · · Score: 2, Interesting

    Summary: DirectX has been rewritten as tighter, simpler, and faster code. The number of new features will actually be minimal, but the rendering architecture should be more powerful overall.

    My take: Graphical advances will continue, but will probably have minimal impact on gaming. Most of the pretty new effects will continue to be powered by new shader algorithms, and 3D video card vendors will look to optimize these micro-programs in their new cards.

    Required Gag: So if DirectX is now on 10.0, does that make it DirectXX?

  3. Re:Who would've guessed... by Amouth · · Score: 2, Funny

    "if you want to play Halflife 3"

    and you promised no lame jokes... tsk tsk tsk

    --
    '...if only "Jumping to a Conclusion" was an event in the Olympics.'
  4. What about OpenGL? by ender- · · Score: 4, Insightful

    Upon skimming over the article this question popped into my head. Of the disadvantages of DX9 that DX10 is supposed to fix [such as the small batch problem and the fixed pipeline shader architecture], does OpenGL have those same disadvantages and if so, what is being done about them? Are those disadvantages present in both Windows and Linux/OSX etc?

    Is it even possible to fix that kind of issue without having your API written into the OS/Kernel?

    This inquiring mind wants to know! :)

    1. Re:What about OpenGL? by dpilot · · Score: 3, Interesting

      I was also wondering this. Given that OpenGL has always held it's value in being cross-platform, not performance, I'm going to guess that it has overhead issues. Not the least reason would be that OpenGL runs in userspace, where I've been under the impression that DirectX has been in the kernel. Actually, I thought graphics were getting kicked out of the kernel for Vista, so I wonder how that affects this pitch.

      Beyond that, I see something interesting happening in graphics hardware. There's a saying that machines go through 3 phases:
      1. Simple, but not truly useful. (Got the base concept, but that's about it.)
      2. Horribly complex, but useful. (Tacked on fixes until it's usable, but now it's a mess.)
      3. Simple and usable. (Really understand what we're doing, finally.)

      It seems to me that "DirectX 10 hardware" may finally be approaching a phase-3 machine. Along with that thought, it seems to me that a gross rearchitecture might do better yet, because they may still be carrying too much baggage along with them. This would be an opportunity for Open Source / Open Hardware. Starting from the oft-mentioned open graphics card that's trying to get off the ground, imagine experimenting with the unified-shader as well as other architectural simplifications. To begin, it obviously wouldn't perform, but it could deliver scaling information to tell what would be possible with higher clock rates and more shaders. Even at some level of scaling, while not adequate for newest games, it could well deliver eye-candy desktops, and adequate performance for older games.

      Besides, how much *gameplay* improvement has the fps seen since the old Doom engine. (Doom, Doom2, Heretic, Hexen, Strife) Most of the work has been in graphical detail, though I'll agree that multiplayer and physics have seen significant advances. As for graphical detail, many of the source ports, like Doomsday, add some of that in.

      --
      The living have better things to do than to continue hating the dead.
    2. Re:What about OpenGL? by Big_Mamma · · Score: 2, Informative

      Small batch problem? I think OpenGL solved that one with display lists - basically, you create a list with commands once, then you can execute the whole batch with a single call, instead of calling glVertex3f() for every single vertex.

      Fixed pipeline isn't really an api problem either, the gpu's added a function to allow a programmer to change pipeline type, from vertex to pixel and the other way around. It doesn't look like it's hard to implement in OpenGL either, it's just a setPipelines(int, int, int) call.

      From the article: To put this in real terms this new shader can take triangles and treat them like objects controlling them at their vertices. These primitives are then passed on to the pixel shader.

      The source of all incompatibility - the geometry shader. But it looks like only another pass of vertex manipulation after the vertex shaders...

      Conclusion: DX10 is just another step in the evolution of 3D graphics, nothing spectacular, and definately not fixing the problems with PC games. It will take a lot more than new api's to fix the gameplay (shooter #2674) and qa = release and patch afterwards.

    3. Re:What about OpenGL? by MaestroSartori · · Score: 4, Informative

      "It seems to me that "DirectX 10 hardware" may finally be approaching a phase-3 machine."

      No, at least from a coding point of view it passed that around the time of maybe DX5 to DX7. Back then it was a real chore to write stuff for, documentation wasn't entirely great and textbooks got all confused and out of date really really quickly. Round about DX8 it really started to be OK though, and that's about when I did a bit of Xbox dev work. Since then, I've been on PS2 duties so have fallen out of touch.

      The thing is, DX isn't the same as OpenGL. It's pretty much a full game middleware platform, only for Windows and Xbox instead of being really multiplatform. Open Source stuff can approximate the feature set if you combine things (OpenGL + SDL + various things for audio, networking, etc.) but they're all done by different people, with different coding styles and different levels of goodness. DirectX's strength is its coherence, and the big install base of Windows users.

      DX10 is throwing away a big pile of audience, I'm not sure that's a good idea...

    4. Re:What about OpenGL? by dpilot · · Score: 2, Informative

      I was thinking more in terms of hardware rearchitecting, not software. From what I've learned, including the DX9->DX10 from TFM, it looks to me as if DX9 and earlier graphics cards shaders used to be implemented like a pipeline, whereas DX10 is implemented more like a multi-issue. That's using CPU terms, but that may not be inappropriate. It appears that in graphics, the elemental unit is the shader, where in a regular cpu there are various execution units. But it's the issue-time equality that's the key. Assuming the multi-issue logic can be contained, the DX10 architecture looks much more regular than DX9 and earlier.

      Assuming OpenGL can take advantage of this too, this could be a boost for the OpenHardware folks.

      --
      The living have better things to do than to continue hating the dead.
    5. Re:What about OpenGL? by dpilot · · Score: 2, Interesting

      You're right about the API thing. The DXOpenGL comparison is so frequent that I make the mistake, too.

      But isn't SDL pretty complete, once you let it wrap OpenGL?
      Is there much penalty for letting SDL wrap OpenGL?

      From what you know, is there a compelling reason why DX10 couldn't be done on XP? Has the driver model changed that much? MS is gambling a LOT on this stand, but ATI, nVidia, and the game developers are putting up the money.

      --
      The living have better things to do than to continue hating the dead.
    6. Re:What about OpenGL? by Spy+Hunter · · Score: 3, Informative
      Display lists are an old solution, not used much any more. Vertex buffers are what is used nowadays. DirectX never even had a call analagous to glVertex3f, it started straight out with vertex buffers. The small batch problem refers to the fact that DirectX's rendering calls are incredibly CPU intensive. Making a call to render one triangle takes the same amount of time as a call to render thousands of triangles. Making more than about 200 draw calls per frame will cause your application to become CPU-bound, even if you're only rendering 200 triangles! The graphics card can handle the polygons without breaking a sweat but DirectX burns up your CPU doing God knows what instead of passing them along. This makes it difficult to render more than about 200 (depending on CPU speed) objects, which isn't really a whole lot when you think about all of the things that go into a realistic scene.

      I don't know if OpenGL suffers from the same phenomenon. My guess is that it does to some degree, but I can't imagine that it's as bad as DirectX.

      The geometry shader is actually a cool concept. It fits into the pipeline *before* the vertex shader, and it has the ability to create and delete vertices and polygons, which vertex shaders cannot do. This helps free up PCI bandwidth and CPU time by generating complex geometry completely on the graphics card. Applications using stencil shadow volumes and particle systems should benefit immediately, and in the future I expect a move toward lots more procedural generation of geometry. Today's graphics cards can render so many triangles that most applications just can't send them enough to keep them occupied, so having the card generate its own triangles makes sense. For example, you could send the card a list of points on the ground and it could generate a field of unique leafy plants swaying in the wind, one for each point. If the plants are complex then the bandwidth saved by generating that vertex data on the card instead of transferring it over the PCI bus from main memory could be huge.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  5. Immersion comes from where now? by El_Smack · · Score: 5, Insightful

    OK, I'm going to take another whack at a dead horse. I don't know that "immersion" comes from thousands of unique trees in a rendered forest. Honestly, I don't know where it comes from. I think it may come partly from the player _wanting_ to be immersed.

    Here comes the "back in my day" part. I remember sitting in the computer lab in college in '93 or so, and seeing guys literally jump backwards and rip the headphones off their heads while playing Doom. I did it myself a time or two. That seems pretty immersive

    Immersion at 320x200 with sprites that looked the same no matter what angle they are veiwed from comes from somewhere, and I hope that game devs can continue to tap that. I guess the good/great ones do, and the rest just make every chair in the game unique and hope that's enough.

    --


    There are 01 kinds of cars in the world. The General Lee, and everything else.
    1. Re:Immersion comes from where now? by zwaffle · · Score: 2, Interesting
      "Here comes the "back in my day" part. I remember sitting in the computer lab in college in '93 or so, and seeing guys literally jump backwards and rip the headphones off their heads while playing Doom. I did it myself a time or two. That seems pretty immersive"

      Yeah, I also remember back in the days, in 1895 exactly, when the Lumiere brothers showed the first movie ever made - a footage of a train pulling into a train station. Viewers were so shocked that they fled the theater. That's immersion. If only current filmmakers had the same talent...

  6. Re:Who would've guessed...Retro arguments. by Opportunist · · Score: 3, Insightful

    What makes me think that game studios will try to push for DX10 is quite simple. DX10->Vista->DRM. And the still floating idea that making a game impossible to copy means more copies sold. I'm actually quite sure that we'll soon see games that ONLY work with DX10, for the "improved graphics". Now, as far as I can tell, an engine written for 10 won't run on 9. So a studio would have to make SERIOUS adaptations (and invest a lot more time) to make a game run on 9 when their primary target audience is 10. And they want it to run primarily on 10.

    About the "have to". Yes, nobody "has to" run DX10. Unfortunately, people don't just want their PC to sit there and look pretty. Now, it's no secret that a lot of today's PCs are sold as game machines. Look at the numbers of GFX-cards sold and tell me it ain't so. You don't need a X1900 to run office products (well, not yet, this might change with Vista and its stunning 3D GUI). Still, a good number of PCs sold today come with graphics cards that cost more than 40% of the rest of the system. So yes, people will "have to" upgrade. If they want to play the games, then yes, there's no option.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  7. Re:Overpriced Xbox by Reapman · · Score: 2, Insightful

    I don't see the major game publishers producing DX10 based games for awhile, not until market penetration for Vista is pretty deep. Basically your adding the cost of the Vista OS to your game, which is the same or more cost of a physical console gaming unit. I imagine DX9 will be around for a long, long, long time.

  8. Re:Who would've guessed... by ewhac · · Score: 3, Insightful
    I'm also quite sure that a lot of game studios will support DX-X and nothing else, so if you want to play Halflife 3 and Duke Nu... (ok, no lame jokes, I promised), you have to get Vista.

    Game publishers don't have a lot of flexibility in development (and pure development houses without a publishing arm have even less). Anything that sells less than 100K copies is considered an abject failure.

    DX-X is going to have a very, very narrow market for at least a year, and probably much longer. Publishers would sooner develop for the Nintendo Revolution before committing to a Vista-only release, because the numbers simply aren't going to be there. Further, Microsoft is a direct competitor, and it is not at all hard to imagine them pulling the same Secret API tricks for their game developers that they (allegedly) pulled for their Office developers.

    So, no. I think Vista will be treated with great trepidation for a long while after release.

    Schwab

  9. Re:Face it, Vista will be hacked... by Trelane · · Score: 2, Insightful
    et I type this out on Windows XP, an operating system where if I want updates I need to "verify" my copy. Oh wait! 30 seconds on Google and a 500kb download, problem solved.
    Or, you could not use Windows....
    Is it sad that we will have to go to these measures to get a usable OS just to play games?

    Or, you could not use Windows....

    The more people use BSD/Linux/Amiga/whatever, the more companies will develop games for BSD/Linux/Amiga/whatever.

    --

    --
    Given enough personal experience, all stereotypes are shallow.
  10. Batches by ardor · · Score: 2, Insightful

    Batches are necessary, they are right about that. Without batching, you can never use the graphics hardware optimally. Many games are CPU-bound because they issue too many API commands, for example, if there are 5000 visible trees, then you have to send 5000 drawcalls. It gets worse if one mesh has multiple materials, for example a tree with a material for the trunk, another for the leaves etc. In this case, you can only group the geometry with the same material together. Instancing helps reducing the overhead for rendering geometry with the *same* material, but if your game level has 47 materials, all of them visible, you have to render all of them separately. DX10 helps by introducing texture arrays and constant buffers, which means that you can stuff all your textures into one array adressable without issuing commands, same for constants (like, color or specular exponent). In the end, you just issue ONE drawcall, and the mesh gets drawn, with its multiple materials.
    Mind you, display lists could be an OpenGL equivalent, but usually aren't (performance-wise).

    --
    This sig does not contain any SCO code.