I had noticed a very large frame rate drop in my application recently so I downloaded the Microsoft GPU View tool and after close analysis it appears that the packets being submitted to the GPU are far too large. My application is quite simple so it does pretty much the same work each frame and a regular packet is 3100 bytes and a present packet is 131,072 bytes in size. Seeing as a regular packet from World Of Warcraft is only 472 bytes in size I think I am doing something seriously wrong here.
Here is a list of the stuff I do each frame:
- Map + unmap and update constant buffers with the per model data (1 matrix)
- Bind relevant vertex, index buffers, textures
- Bind relevant shader
- Bind the input layout attached to the shader
- Render using DrawIndexed
Of course, I could be completely wrong in thinking the slow down is to do with packet sizes but it seems to be the only possible cause. Does anyone know of a particular factor that could cause the packet sizes to become much larger?
Edited by gchris6810, 10 April 2014 - 03:34 PM.