*sigh* So much crap spewed in that interview, I almost don't know where to begin. Well, first of all, I guess I'll skip over the crap that was already talked about.
When we think we can produce a product with adequate performance that allows you to actually take advantage of some of these new features, then that's when we'll add the features into that product. But if you try to introduce them too early, you're basically adding additional cost to the product that's not providing a benefit to the end user, and that's just something you want to avoid.
With an attitude like this, we'd have much slower advancement of gaming technology. It's not until low-end hardware is saturated with a certain set of features that those features can be used to their fullest.
One thing to consider when you're looking at these things is, you know, it might not sound like a huge difference between 24 bits or 32 bits, but what you're basically talking about is 33% more hardware that's required. You need 33% more transistors. Your data paths have to be 33% wider. Your registers have to be 33% wider.
This is all blatantly false. FP32 math units aren't 33% bigger than FP24 math units, and the parts that you would change wouldn't take up all of the core.
So if you were instead to devote those extra transistors to increasing performance, now you're able to run those 150-instruction shader programs at a much higher speed, so that a lot of techniques that were previously not feasible to run in real time now become feasible.
There's absolutely nothing that the X800 can do that the GeForce 6800 cannot do. The difference in performance is quite small, and there's simply no algorithm in the world that you could run on the X800 that would be that much faster. So, based on this logic, nVidia definitely took the better route, as they added both performance and features, allowing for more developer freedom.
[about branching]So performance will potentially be somewhat lower, because now you have to add in the extra pass, but certainly there's that you couldn't do—that you could do only with hardware that supported it.
That's the understatement of the century. With the wrong kind of loop, performance could be absolutely abysmal without actual dynamic branching support.
[about geometry instancing]So again, it's one of those things where there's potential performance benefits from using it, but certainly there's no sort of image quality benefit that it provides, because anything that you can do with it, you can do using Shader Model 2 shaders, and the performance won't necessarily be that much better. It just depends on the characteristics of your scene.
Geometry instancing allows entirely new types of gaming environments that have been very hard to run since 3D graphics hardware has taken root. This can provide huge performance improvements for situations where you have a whole lot of similar models, such as in an RTS or a game like Serious Sam.
TR: Won't Shader Model 3 provide an easier-to-use programming model?
Nalasco: Well, not necessarily.
Yeah, right!!!
Come on! SM3 adds flexibility. This makes programming easier. Without that flexibility, you have to use hacks and workarounds. That's never easier than straight programming. This is just a silly argument, as he's basically arguing that since you can do more advanced things with SM3, it's going to be harder to develop for.
No, the point is that when you want to do the exact same thing on SM2 and SM3, it's either going to be identical or easier with SM3.
You do a post-processing effect where you effectively blur the image very slightly.... In a lot of ways it's like supersampling, where you blur the whole image just slightly to get rid of these hard edges.
Lovely. A blur effect compared to supersampling. If ATI supported gradient instructions, maybe they could have gotten rid of the aliasing the right way, by using anti-aliasing! Nobody in their right mind is going to apply a blur filter to a game.