Originally Posted by ChrisRay
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: http://www.beyond3d.com/content/reviews/4/17
6800 Ultra in Right Mark: http://www.beyond3d.com/content/reviews/36/21
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: http://www.xbitlabs.com/articles/vid..._28.html#sect0
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: http://www.xbitlabs.com/articles/vid...b_6.html#sect1
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.