Quote:Truly unbelievable, isn't it? :)
I thought the DX runtime would filter the redundant state changes, but obviously it doesn't.
Assuming you are definately not using a PURE device (where the runtime won't perform any state filtering) for your profiling:
Try the same test with the Retail D3D runtime... [smile]
Bear in mind that D3D sending all that "redundant renderstate" spam to your debug output stream does take a fairly significant chunk of time!!
Of course, by filtering at your application end you avoid a COM/DLL call into the D3D runtime - but that isn't at all significant except in pathalogical cases.