View Single Post
Old 07-30-09, 10:03 AM   #8
Posts: n/a
Default Re: EQ2 Shader 3.0 upgrade

Originally Posted by ChrisRay View Post
I remember when I swore up and down EQ 1 was using SM 1.1 and everyone thought it was 3.0. Its kinda funny because everyone thought EQ 2 ran badly because it was a broken SM 3.0 model on Geforce 6 cards.

Hindsight is a beautiful thing.
It probably ran poorly on Geforce 6 for the Geforce 6's relatively weak handling of SM 2.0 / direct x 9 . Geforce 6 was never a miracle of shader performance, although it didn't lag as badly behind ATI as it had with the 5800/5900. SM 3.0 support was its trump card, due to the possibility of shortening execution time using relatively fine grained and robust dynamic branching (vs. I believe conditional loops with sm2.0). The Geforce 6 had to use partial precision shaders [which is not DX9.0 spec], just like the 5800 to at all compete with ATI in pixel shader performance:

X800 Pixel Shader performance in RightMark:
6800 Ultra in Right Mark:

In SM 1.1 x800 is twice as fast roughly
In SM 2.0 it is between twice as fast and 30% faster

Now with PP (so 16bit floating point vs 24 bit on ATI): Evident in the above benchmarks as well as here:

Games showed this to be true in the real world. Here is a review of the X850, which was, as you remember just a way to get volume out of the X800 XT PE, and came out 6 months before 7800 (gave a good reference point, because by this time all drivers were relatively mature for both camps):

However, SM 3.0 offers more powerful dynamic branching support and helps Geforce 6 out quite a bit --> (not all levels show performance gains, I showed one which does... The gains were mitigated I believe to some extent by increased SM precision and or effects in Far Cry).

but Sm2.0b evens the field:

So it is not at all surprising the EQ2 did not run ideally on Geforce 6 (due to SM2.0 or simpler shaders and no SM3.0 dynamic branching support):

A final example of X800/X850's superiority in SM2.0 heavy games (and Half Life 2 does not support PartialPrecision (PP) calls):

After X800 and especially after X850 debuted Geforce 6's value proposition had less to do with its performance (which was ok to good) but its ability to support Direct X 9.0c, 128bit floating point precision, and Shader Model 3.0.
  Reply With Quote