Dio
Senior Member
Senior Member
Joined: 01 Jul 2002
Posts: 1368
Location: UK
PostPosted: Thu Jul 01, 2004 10:12 pm Post subject: Reply with quote
Zeno wrote:
It is a special case which requires switching a bunch of render states and sending all the geometry through the pipe again.
Remember that there is no point in optimising if the optimisation doesn't help you.
For example, if you're running a 200-instruction pixel shader, there's no point jumping through hoops to avoid using floating point buffers, because the pixel shader takes so long to execute that the extra bandwidth taken is irrelevant.
Similarly, if you are limited by your pixel shader, then it's a lot less likely to matter if you send all the geometry through many times (if they don't share resources).
In contrast, if your average polygon size is 2-3 pixels, then it doesn't really matter if you run a hundred instruction pixel shader on it. It won't cost anything.
It's all about pipeline balances.