Jawed said:
Geo, not really - R300's precision and pipeline/tile flexibility is more than a match for the wayward posturing of NV30.
You say tomatoe, I say tomatoh. The R300 still caries around the "phase"d baggage from the R200 era, and you can see it in the dependent lookup limitation. NV3x, although a failure, gave NV the valuable experience they needed to make the NV4x. Sometimes, you make a 1.0 version of something that contains alot of risky decisions, then you use the experience from that, to find out what works and what doesn't, and make alot better 2.0 version.
Why construct a GPU capable of running hundreds of instructions in a shader, for example, when the GPU isn't fast enough? Why build FP32 precision when the longest practical shaders show no merit beyond FP24? etc.
Because NVidia was also trying to go after the DCC market. They know a 4000 instruction long shader can't be used in games. But it can be used in offline rendering. e.g. Gelato. Rather than design a separate "Quadro" core, they added cheap support for long shaders.
There's nothing novel or difficult about G70 architecturally that couldn't have been implemented back in NV30. You have to ask why did it take 3 years to get there?
And nothing in the R520 scheduler architecture could not have been implemented 3 years ago either. Why did it take us three years to get here? Because ATI needed the experience it gains over the last 3 years of optimizing the R2xx/3xx architecture and Xenos project to arrive where it is today. Just as ATI will use its Xenos experience on the XB360 to gain insights into how to make a better Longhorn chip too.
The G70 is a safe, mature tweak of the architectural line that started with the NV4x, just as the R420 was a safe tweak. I think the R520 is relatively safe as well. I think both ATI and NVidia are working on more radical architectures behind the scenes, and this G70 vs R520 business is just a sideshow.
I think the expectation of top-down miracle designs which work with 100% success out of the box is a little naive. In most cases, feedback from successes and failures of real implementations are needed. Design in the real world needs bottom-up inputs, which cannot always be had by whiteboarding and lab simulations.