DX 10.1 Benefits on Radeon

FrgMstr

Just Plain Mean
Staff member
Joined
May 18, 1997
Messages
55,639
Alex Voicu from the Rage3D crew has a very interesting article posted this morning that uncovers one of the first seen DX 10.1 benefits that have been tracked down in a real game. Kudos to Alex for the sharp eye! A great read for you GPU information hungry guys.


As it were, between two separate sessions, Service Pack 1 got uninstalled. Intent on resuming our trek through the Kingdom of Heaven, we were quite surprised to notice that performance got perceivably worse on our 3870X2 using rig, in spite of the only different thing being the lack of SP1 (all other available updates were installed after uninstalling SP1). Since SP1 was never proven to be the ultimate performance enhancer, it was quickly discarded as the possible reason for the sudden loss of performance. After quite a bit of useless tinkering trying to figure out what went wrong, whilst going through some whitepapers these two slides seemed to suggest an unexpected yet obvious answer:
 
Quite interesting indeed, don't think anyone was expecting this.

Let's just hope more titles use DX10.1, as the performance benefits are worth it.
 
would have loved to see some DX9 numbers next to that, as at high quality settings the DX9 path is faster with little to no difference in IQ
 
would have loved to see some DX9 numbers next to that, as at high quality settings the DX9 path is faster with little to no difference in IQ

I've found that the Depth of Field is less accurate and Motion Blur is rather less realistic in DX9 than in DX10. Assassin's Creed makes very good, appropriate use of Depth of Field.
 
GITG is bringing sexy back.

So we're all now in agreement that vendor game optimizations are good, or is it still bad when nvidia does the same thing? :p
 
I was a little annoyed that the 9800 GTX wasn't 10.1 compatible. That's just stupie!
 
Great article. Maybe DAAMIT is ahead of the curve... I'd like to know if this kind of improvement requires significant coding changes or if a simple recompile against the new DirectX SDK would do it. If I had a 3xxx series I'd write a test program to check it out, but I don't think I'm gonna run out and buy one just yet.
 
For me the biggest impact has been that I've been told over and over that DX10.1 didn't matter (Crytek comes to mind), but this seems not to be the case.

I have to believe that nV has a 10.1 part in the pipeline at this stage. ;)
 
Until they run the tests with a single GPU card ala the 3870 and not the 3870X2 then I'll be amazed. SP1 in Vista helps out multi-GPU cards better, so who knows if SP1 actually helped the cause. Once single GPU cards are tested then it's something to bring otherwise this is just a fluke in my opinion.
 
Great article. Maybe DAAMIT is ahead of the curve... I'd like to know if this kind of improvement requires significant coding changes or if a simple recompile against the new DirectX SDK would do it. If I had a 3xxx series I'd write a test program to check it out, but I don't think I'm gonna run out and buy one just yet.

It does require more than just recompiling (at the least you need to change the D3DCreateDevice()-call to the DX10.1 equivalent to even obtain a D3D10.1 interface in the first place, and then you'd actually have to do something with the new functionality), but it's not a huge change to the code really. It all depends on how far you want to take this programmable AA thing ofcourse.
 
Could this gain be due to the multi-sample buffer reads and writes (MSBRW) included in DX 10.1?
 
Quite interesting indeed, don't think anyone was expecting this.

Let's just hope more titles use DX10.1, as the performance benefits are worth it.
Actually I expected the speed increase. Its the Nvidia fans that constantly went around claiming it would be slower. Part of DX 10.1 uses 32bit code for AA, unlike DX10 which uses 16bit... I'm not sure exactly what the code does.

Its probably why Nvidia doesn't add 10.1, because they figured it will hurt ATI more by not adding it (thinking the game companies won't add 10.1 support if the nvidia cards don't support it).

ATI is much farther ahead in technology than Nvidia is.
 
It's nice to see and largely inconsequential if 95% of the devs out there don't bother with it.

It will be interesting to see if nVidia's next big thing due out by the end of the summer supports this.
 
Well ATI needs to get the game developers to use DX10.1, otherwise whats the point again?
 
I wonder how much extra time and expense is involved when game devs have to code and optimize for new tech like DX10 or DX10.1. My guess is that most devs have put a lot of time and money into coding for DX9 they don't want to put up the extra expense to rehash the games they have already put out which is a shame if it works out that DX10.1 gives ATI a performance boost like this.
 
Could it be? I finally see a use for Vista!! Nice. Too bad you have to have an ATI 3870 to see the advantage.
 
Still waiting for DX10.0 to dazzle us, little own 10.1 with its minor improvements lol.

Looks good on paper but I bet any 10.1 improvement is worthless in practice.
 
Well ATI needs to get the game developers to use DX10.1, otherwise whats the point again?

Problem is to get devbs to take risks like this it includes paying them to do it. Trust me Nvidia paid for the early The Way Game Are Meant to Be Played campaign.

AMD/ATI unfortunately have other issues on the money front.

Croaker
 
Still waiting for DX10.0 to dazzle us, little own 10.1 with its minor improvements lol.

Looks good on paper but I bet any 10.1 improvement is worthless in practice.

DX 10.1 with almost a 20% increase in performance over DX 10.0 with 4x AA enabled in an actual game is "worthless in practice"?

I would say not worthless at all.
 
Heh, heh, heh... it seems ATI finally stole a page from Nvidia's book and sent some developer relations peeps to work on the code. Very interesting if they were to rev that up to Nvidia's levels. It'll never happen, as their pockets just aren't that deep at this time. But still, I look forward to [H]'s take on these developments.
 
DX10.1 is probably what DX10 should have been. One of the major features in there is the ability to read subsamples when using MSAA. That allows the developer to determine just where AA gets applied and actually use MSAA with deferred rendering methods. So it's not a non-trivial feature to have included and is very useful.

The problem is that the devs will tend to code for the least common denominator which usually tends to be Nvidia. So if Nvidia fails to get a specific feature implemented, and most gamers won't be able to take advantage of it, then why bother coding for it?

As far as implementing it if the programmer knows what they're doing it wouldn't take all that long at all to implement. I'd say it could be coded and tested inside of a week if they wanted.
 
Well apparently Ubi is removing the DX10.1 code path for some reason so that might be why it's not mentioned.
 
Actually I expected the speed increase. Part of DX 10.1 uses 32bit code for AA, unlike DX10 which uses 16bit... I'm not sure exactly what the code does..

Nice imagination you've got there. Where do people come up with this stuff?
 
This is a pretty decent explanation (at least it made sense to me anyway)

http://www.theinquirer.net/gb/inquirer/news/2007/11/16/why-dx10-matters

Charlie is close but this response is more accurate.

DirectX 10.0 already allows pre-resolve access to multisampled buffers. All that 10.1 gets you is pre-resolve access to a multisampled depth buffer.

Doing MSAA with deferred shading does not require pre-AA-resolve access to the depth buffer. What is does require is pre-resolve access to the color, normal, etc buffers which is already provided by the DX10.0 Texture2DMS object.

Accessing a multisampled depth buffer pre-resolve basically just removes one of the exceptions in DX10.0, where you had pre-resolve access to everything but the depth buffer. This is why ATI says "A new feature of DirectX 10.1 allows all AA buffers to be accessed directly by shaders." - they make it sound like none of the buffers are accessable in DX 10.0, whereas in reality all but the depth buffer are accessable.

So, in conclusion, you can do MSAA with deferred shading in DX 10.1. This is not to say that you can't do it in DX 10.0.

Bottom line is that DX10.1 allows for direct access to the multi-sampled depth buffer which would come in handy if you are doing effects that use those depth values. You can already do deferred shading + AA in plain old DX10.

I'm also waiting to see single card numbers to remove the possible effects of SP1 on crossfire scaling. Drawing conclusions based on 3870X2 vs a single 2900XT isn't the best way to go about this. Either way this is obviously a good thing if you want to code effects that use those depth values. I agree with Charlie that this makes DX10.1 worth it even if all the other stuff is just fluff.
 
Some interesting info. The next patch will remove DX 10.1 support temporarily.

http://forums.ubi.com/eve/forums/a/tpc/f/5251069024/m/6571038256

"In addition to addressing reported glitches, the patch will remove support for DX10.1, since we need to rework its implementation. The performance gains seen by players who are currently playing Assassin’s Creed with a DX10.1 graphics card are in large part due to the fact that our implementation removes a render pass during post-effect which is costly."
 
Back
Top