Mintmaster said:Die size is mostly a result of ATI's design goal to make dynamic branching fast. ATI had a very compact shader pipeline in R300 and R420, and adding NV-level PS3.0 functionality wouldn't be that much more. Instead, ATI completely revamped the way they did pixel shading for dynamic branching. Doing different things on small batches is much less efficient than doing the same thing one large batch, whether you're shading pixels or running a manufacturing business.
Yes, and I'll only add that from the beginning ATi stated it had no intention of doing "nV-like 3.0," or any other such similar half measures.
SM3.0 brings techniques that enable very new algorithms with dynamic branching and vertex texturing. NVidia is very slow at these, but hey, it doesn't matter. They made the right decision, because they've got the checkmark, and nobody's using these features - the hallmarks of SM3.0 - in games.
Yes, and so...while generating PR feature checkmarks sans useful implementations might well help an IHV sell more units, it does little to actually inspire developers to support such features in more games. In the longer run the game developers will be supporting useful implementations as opposed to marketing checkmarks, and so I've always concluded that useful implementations drive software development progress, while empty or largely symbolic marketing checkmarks tend to relieve game development progress of its forward momentum.
If we look back at the record over the last several years, every time a company in active competition with nV at the time would introduce a new and useful feature--such as FSAA, for instance--the immediate reaction from nV might be characterized as "What for?" and "Who needs it?" I well remember this all the way back to 3dfx and the V5 FSAA introduction, with nVidia saying things like, "We believe that what users want in 3d games is resolution increases as opposed to FSAA," etc.
We could talk about a lot of specific things, like nV's initial and useless implementation of fp32 for marketing even while it was actually utilizing fp16, and of course looking at ATi's fp24 at the time and not only saying things like "Who needs it?" and "What for?", but also saying things like, "fp24 is mathematically unnatural" and other such amusing slogans, but I think I've made the point I wanted to make.
With nV, at first, everything seems to be an "either-or" proposition, instead of a "both" proposition, if you know what I mean. Ironically, at the time 3dfx's SLI (the original SLI) was so popular, nV was again saying, "What for?" and "Who needs it?", to only years later actually cop the very same "SLI" acronym for doing the very same thing. ATi is to be commended I think for refraining as long as it did to chase the "SLI" tail, and criticized, I think, for deciding to chase it at all...
(There is much indeed I could criticize about 3dfx's marketing at the time, but as 3dfx was absorbed by nVidia, I see no point.)
Ditto ATi's outstanding initial SM2.0 support inside R300, and so on, ad infinitum. nV reacts to that by rushing a fairly useless version of SM3.0 hardware into the markets, to try and "one-up" ATi's success with SM2.0, without apparently realizing that what helped ATi with R300 wasn't a simply an empty marketing checkmark, but a solid implementation of SM2.0. Big difference.
nV's just too reactionary, imo, without much in the way of a clear vision of where it wants to go in terms of supporting the future of 3d. It's good to focus on selling, selling, and selling your products--nothing wrong with that at all. But I think it's better to focus first on creating the kinds of products people wish to buy so that you can sell, sell, and sell your products into eager markets. It's fundamentally a difference between style and substance, I think. The stylist always reacts while the company creating the substance takes the lead.
Just my lowly opinion, of course... But this is why I think nV did SM3.0 when it did and how it did, and is why ATi did SM3.0 when and how it did.