Originally posted by: Acanthus
Originally posted by: Ackmed
Originally posted by: Insomniak
So when all the ATi peeps were trumpeting about PS2.0 over the last year or so, that was BS too? Just checking for consistency.
Games are actually out now, that use PS 2.0. Albeit only slightly.
It is different too, as PS 2.0 looks better than PS 1.1, where as PS 3.0 does not look better than PS 3.0.
We dont know that though, it could be the difference between a slideshow and playable FPS for certain effects.
I honestly believed last year that I'd be playing both Doom3 and HL2 by now. Not my fault that both companies were apparently lying through their teeth when they said the games were almost ready.
SM3.0 doesn't add a whole lot of new functionality over SM2.0. It makes certain things *easier to program*, and certain things *faster* (although what and by how much remains to be seen), but it doesn't make very many new effects possible that couldn't have been done before. Even displacement mapping (the much-touted 'new' feature of VS3.0) can be done in SM2.0; it's just a PITA and it's probably significantly slower.
The biggest improvement, I think, is in making shaders easier to program. But even so, developers that want to write games with shaders still *have* to write SM2.0 shaders, since for the next year at least, 90+% of the people with a DX9-compliant card are going to have a RADEON 9XXX or GeForceFX, or the low-end NV40/R420 (which probably won't be more than 10-20% faster than a 9800XT). NVIDIA might convince a few developers to toss in some legitimate SM3.0 code, but I can almost guarantee that you won't see any ground-up SM3.0 titles for quite a while -- whereas you SHOULD be seeing several titles that make extensive use of SM2.0 soon. I hope.
The speed increases from SM3.0 are supposed to come from more efficient code. However, basically the only thing they did (at least in the pixel shader) was to add dynamic branching (ie, true loops and jumps, not just static loops), and increase the maximum shader length (so effects that might have been done in two passes with two small shaders can now be done in one pass by a single large shader).
However, it doesn't make the actual shader code run any faster. If in PS2.0 you do some lighting effect in two passes that require 100 instructions each, and in PS3.0 you do the same effect in one pass that requires 200 instructions, you haven't saved any time.
In fact, you might be better off in this case with a faster PS2.0 part rather than a slower PS2.0/3.0 part. Now, if that PS3.0 shader turns out to only require 195 or 190 or instructions -- yes, you'll see a speed increase. But that's certainly not a guarantee, and we're probably talking single-digit percentages here, not orders of magnitude.