GPU packet sizes way too large

Started by
3 comments, last by Aardvajk 10 years ago

Hi,

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?

Advertisement

What packet sizes are you refering to ? If you are refering to the data being upload each frame, then thats is dependent on what you are uploading. Thus, figuring out how much data is being uploaded each frame becomes a matter of resource tracking, since the data being uploaded is being submitted by your app.

I would start by implementing a profiler in your game (QueryPerformanceCounter on CPU and D3D events on GPU) and find out which parts of your program are taking up what amount of time.

How do you know large packets are bad, apart from this WoW comparison? Generally people try to send more data to the GPU at once, not less.


Seeing as a regular packet from World Of Warcraft is only 472 bytes in size

Are you sure you aren't confusing GPU packets with network packets here? Find it hard to believe WOW is putting data onto the graphics card in 472 byte chunks :)

If so, they are not comparable in any shape or form.

This topic is closed to new replies.

Advertisement