HL2 perf. from anand

If an application stops doing something, then it's not wasted effort because another app. may come along that does it.

Ah, this may explain why driver files seem to grow larger in size. The 'old' optimisations may not be removed - at least not immediately. Or maybe not.

(Sorry if that's confusing logic, but I'm deliberately trying to avoid specifics.)

Crystal clear. However deliberately avoiding specifics most likely means you working on something close to home... ;)

Anyway keep up the good work OpenGL Guy:

I think DaveBaumann and gang should do a formal interview with you and your colleagues (Dio, sireric, Terry) just to clear up some of the confusion and misinformation that is bound to ensue.

In fact my questions that you answered so honestly is something that the world should know about; ATI and its philosophy and how strikingly different IHV's approach the same problems (ref. to PR and 'real' work, hehe).
 
OpenGL guy said:
Tahir said:
I suppose ATI is going to take a look at Valves code and see where it can improve Shaders without impacting IQ. It most likely has already happened within HL2 with further improvements down the line.
We do this, but don't need to. We have a general optimizer in our driver now that we count on to give us good performance. As it gets more intelligent, then we can see performance improvements. Of course, shaders aren't the only place where we look for performance improvements.
Well, if you ask me...
- there are going to be too many shaders in DX9 games to optimise them all by hand
- hand-optimising a 50-instruction shader is not only very time-consuming, but bloody difficult
- hand-optimising shaders is bad for the general 3D community: it is reactive, rather than proactive, it promotes high performance on 'A-list' games and benchmark applications and neglects lesser-known but equally deserving titles, and it introduces temptations to alter the shader beyond the bounds of algorithmic correctness.

What is needed is a very smart PS2.0 -> hardware compiler which produces correct, fast results that are very close to the hand-optimised version while being guaranteed algorithmically identical. Doing it this way is a no-brainer. It takes longer to teach the compiler to be smart than to optimise a shader by hand - but it takes less time than optimising 50,000 shaders by hand.

(If anyone wants to optimise a 500-instruction shader by hand, good luck to you, I'll buy you a pint, you're gonna need it...)
 
Back
Top