I detect a bit of a sentiment in Matt’s statemements that seems to suggest that ATI would make an optimization suggestion based on it hurting NVIDIA hardware rather than helping ATI hardware. I don’t think this is correct, and I think Matt would be doing himself a disservice if he was making this suggestion. But, he’s a smart guy, and I think he’s just a victim of a wording fumble.
I don’t think there’s a sinister plot to have people needlessly work worse on other cards going on here.
It’s been said that the 9700 implements the fixed function using the programmable engine. If that is indeed the case, then that would be a set of shaders that probably do more than your own custom shaders would do.
In that case, the overhead of using fixed function wouldn’t be just the extra instructions executed, but also the overhead of loading that big fixed-function shader into the card everytime you switched away from your own shaders. The card probably only has limited amount of program area, after all.
Thus, I think it’s very likely that the 9700 may run faster if you stay all with custom shaders, than if you switch back and forth. Thus, it’s a reasonable position for ATI to say “don’t switch,” without considering the impact (or not) on other architectures.
And, for people doing advanced shader set-ups right now, they’d probably want to heed this advice. Once there’s CineFX harwdare around to optimize for, these same people may have to split their rendering two ways for peak thoughput. Or not; depending on which way the profiling goes.
[This message has been edited by jwatte (edited 12-21-2002).]