Introduction

When it was drafted, DirectX 10 promised to once again change the way developers approach real-time 3D graphics programming. Not only would graphics hardware be capable of executing short custom programs (called shaders) on vertices and fragments (pixels), but developers would be able to move much more high-level polygon work to the GPU through geometry shaders. Pulling polygon level manipulation off the CPU opens up a whole host of possibilities to the developer.

With adequate performance, many of the geometric details simulated through other techniques could be applied in simple, straightforward ways involving less overhead. Techniques like normal mapping, parallax occlusion mapping, and many others exist solely for generating the illusion of additional geometry. Ever wonder why a face can be incredibly detailed while the silhouette of the same head looks more like a stop sign than a melon? This is because modern real-time 3D relies on low polygon models augmented with pixel level "tricks" to make up for it.

There are lots of cool thing we can do with the ability to process geometry on the GPU. We could see particle systems on the GPU, fine grained model details like fur that can be affected by the physical characteristics of the world, procedural geometry for highly dynamic environments, "real" displacement mapping, and geometry amplification that can add detail to models. Some of these things may show up sooner than others in games, as we will still be limited by the performance of the hardware when it comes to implementing these features.

There are, of course, other benefits to DX10. We explored this in previous articles for those who are interested, but here's a quick run down. Object and state change overhead has been decreased, allowing for less CPU involvement when sending data to the GPU. This should improve performance and give developers more headroom in building larger, more complex scenes. We have more rigidly defined specifications, which means developers can focus less on how individual hardware will handle their game and more on the features they want to implement. With a larger focus on data types and accuracy, the results of calculations will be more consistent between hardware, and developers will have more flexibility in choosing how their data is processed.

In general, DX10 also offers a more generic computing model with lots of flexibility. This will be very important going forward, but right now developers still have de facto limitations on shader length and complexity based on the performance of the hardware that currently exists. As developers better learn how to use the flexibility they have, and as hardware designers continue to deliver higher performance year after year, we will see DirectX 10 applications slowly start to blossom into what everyone has dreamed they could be.

For now, before we get into features and performance, we would like to temper your expectations. Many of the features currently implemented in DirectX 10 could also be done using DirectX 9. Additionally, those features that are truly DX10 only either don't add much beyond what we would get otherwise, or require quite a bit of processing power to handle. Thus, we either get something that was already possible or something that requires expensive hardware.

The Test
Comments Locked

59 Comments

View All Comments

  • misaki - Thursday, July 5, 2007 - link

    So Nvidia and AMD actually complained about their "mainstream" parts being below par?

    It sounds to me like they are seriously out of touch. Media center PCs will get their 8400 and 2400 cards for h264 acceleration. Gamers with lots of money will buy those $400+ cards as usual. But your average gamer in the $200 market is stuck with junk that is unplayable for dx10 games and performs like previous gen hardware that just barely makes the grade for current games already on the market.

    What is so hard to understand?
  • MadBoris - Thursday, July 5, 2007 - link

    I'm glad that some of the things that were said in the article, are starting to be said. DX10 reminds me of Physx, great concept but can't possibly succeed due to certain hurdles in the technology being able to actually take off. Unfortunately DX10 also isn't going to be what we all hoped it would be in real performance, video drivers are not the only reason.

    There is something real counterintuitive with quality native DX10 rendering support.
    There is very little incentive for a developer to produce a good DX10 renderer when developers have DX9 support on Vista along with many of their real current goals of console support for more customer base. With only so many hours a day, console support is much more lucrative with new people having access to buying a title, that will also actually run just fine with only DX9 on a Vista platform, never needing or really benefitting from DX10.

    The costs of making DX10 games outweigh the benefits, and the benefits aren't currently that palpable in the first place. Furthermore, actual DX10 performance will rarely ever be all that positive, something that is too early to prove, but rather negative even though apples to apples DX9 to DX10 comparisons cannot be made.

    As to the low end parts, it's just marketing, theirs no "real" value DX10 for $100 -$150 for gaming. If people want a good video value purchase for games, $200 is where the good quality/price starts and it's mostly in a previous generation, not some value card for $150. Whether we agree with that price point being 'worth it' is another matter altogether and is purely personal preference. I don't know why Nvidia or ATI even introduced low end DX10 compatible hardware when customers will only get angry at developers or video mfr's for the blunder of underpowered hardware for high end game titles. This low end DX10 hardware mystified me. it was either going to slow down DX10 progress or have to be ignored. It seems obvious that all high end games will have to pretty much ignore the low end parts for achieving acceptable framerates with DX10 for new eye candy titles. They should have left DX10 out entirely in low end, but they had to include it because of competition between AMD/Nvidia, neither wanted to leave the other with a marketing advantage of saying, look we have DX10. DX10 with it's lofty goals of being able to render more in a scene and produce even greater quality eyecandy is at odds with low price. Higher quality rendering will always be at odds with low price, they are mutually exclusive. Low price never is going to give you good performance and quality, people should really start being realistic as to what they are paying for at a $100 - $150 price point, it's a consumer expectations problem. Low end hardware will work fine for games like Sims and those games will target low end hardware, but not high end games for higher resolutions and decent frame rates.

    In the end, with future goggles on I think the picture is becoming quite clear that DX10 will become one of the DX API's that becomes mainly skipped (if a decent DX successor becomes available in next few years). The only time it will really make sense to go above DX9 native support is when Vista saturates >%85 gaming market share. In the several years that that will take, DX11 or higher should be available and will be superior to DX10, so DX10 in hindsight will really end up being just a marketing ploy to upgrade to Vista, little more.

    Glad the mask is starting to come off and more people are being able to see the picture clearer that making any purchases around DX10 with a GPU or OS is silly and bound to cause frustration.
  • strafejumper - Thursday, July 5, 2007 - link

    i upgraded recently - but ended up only spending under $300 for a core2duo system
    this is why - people were saying get a DX10 card - future proof
    i decided to keep my old agp card because i felt real dx10 games and real dx10 hardware were not here yet.

    i'm happy i made i feel the right choice and didn't spend money on new psu, sata drives etc. so i could have a $$$ dx10 card only to play call of juarez at 14 fps.
  • stromgald - Thursday, July 5, 2007 - link

    I have to agree. I was considering trying to get an 8600 for my SFF PC, but after looking at this, I'm probably going to hold off until the next generation. HTPC and SFF PCs just can't handle the heat an 8800 series generates, and I want at least playable DX10 performance.
  • jay401 - Thursday, July 5, 2007 - link

    quote:

    Both NVIDIA and AMD were very upset over how little we thought of their DX10 class mainstream hardware. They both argued that graphics cards are no longer just about 3D, and additional video decode hardware and DX10 support add a lot of value above the previous generation. We certainly don't see it this way. Yes, we can't expect last years high-end performance to trickle down to the low-end segment, but we should at least demand that this generation's $150 part will always outperform last generation's.


    Seriously, F them. It's pathetic they're trying to pawn off half-assed hardware as "mid-range enthusiast" parts when they can't even perform as good as the mid-range from the previous generation. Jerks.
  • jay401 - Thursday, July 5, 2007 - link

    Another new article showing how DX10 Vista performance propaganda is garbage.

    Gotta love people who try to act superior b/c they bought Vista for gaming when all it does is suck up more system resources and uses DX10, the combination of which will easily inhibit performance on equivalent hardware.
  • BigLan - Thursday, July 5, 2007 - link

    "They both argued that graphics cards are no longer just about 3D, and additional video decode hardware and DX10 support add a lot of value above the previous generation."

    Yeah, I don't buy into this either. I've pretty much given up on 'video decode,' be it avivo or purevideo. You end up stuck with using a specific product, rather than ati or nvidia opening the features for any developer to access. Right now, it's only useful with the latest windvd, powerdvd or nero but you have to hope your driver version is the right one, and doesn't (and probably never will) work for x264 or xvid content.

    Purevideo is horribly branded by nvidia - is it card features that everyone has access to, or do you have to buy it from them? And has ati actually released their avivo video converter to the public? Could I use it to compress some of my recorded tv shows from mpeg to xvid?

    Maybe this is like the mpeg2 decoder situation was in 98/99, in which case we should just wait for cpu speeds to increase and mean that we don't need video decode acceleration.
  • titan7 - Thursday, July 12, 2007 - link

    I agree. How much quicker would things be if all the video transistors were spent on more shader processors? I want my video card for video games. I want my dvd player for movies.
  • vailr - Thursday, July 5, 2007 - link

    Comparing mid-range DX10 cards:
    (lowest prices found via froogle.com; shipping not included)
    Radeon 2600XT 256Mb ~$145
    http://www.ewiz.com/detail.php?p=AT-2600XT&c=f...">http://www.ewiz.com/detail.php?p=AT-2600XT&c=f...
    nVidia 8600GT 256Mb ~$100 (after $15 MIR)
    http://www.newegg.com/Product/Product.asp?Item=N82...">http://www.newegg.com/Product/Product.asp?Item=N82...
    How is the 2600XT worth the added $45 v. the 8600GT?
  • Comdrpopnfresh - Thursday, July 5, 2007 - link

    I have a 7600gt oc'd to 635/800. I get 30+fps with better than default settings, with AAx2 set @ 1024x768. Why do these cards not seem to do much better (given they are @ 1280x1024)?

Log in

Don't have an account? Sign up now