I've recently been looking with PIX for Windows at an application using Direct3D 9 for rendering. What I've noticed is that the first operations of a given frame on render targets or textures that wrap them seem to take a very long time. The system is running Windows 7 and is not out of graphics memory. No thrashing should thus be happening. What I find interesting is that operations on 16-bit floating point surfaces take about double the time as on 8-bit integer surfaces.
Anyone have any explanation for this phenomena?
-Timo
If the 1st operation takes a long time, but subsequent operations do not, it sounds like a JIT (just-in-time) compilation issue. You didn't mention what language/framework you are using, but if it anything that is compiled at runtime (.NET, Java, etc) you will experience a delay the 1st time you run a bit of code that you will not on subsequent iterations.
As for the 16-bit taking twice as long as the 8-bit, it's hard to tell what's really going on under the hood. It wouldn't be completely ridiculous to believe that 16-bit floating point operations could take twice as long as 8-bit fixed width integers.