Advertisement

Does mixing dispatch & draw cause any overhead cost?

Started by December 08, 2019 07:07 PM
2 comments, last by MJP 5 years, 1 month ago

I've heard several times people saying that switching between draw & compute shading often can "be bad for gpu performance". That there would be some kind of penalty as the CUs had to do some kind of switching. I've had problems finding info confirming this claim? Is it true or BS, and if true what kind of overhead are we talking? (From what I read AMD don't have such limits but I'm unsure for nvidia)


If you use DX12 with commmand queues and use fences I dont know thats its a particular problem. Note this though:

  • Don’t toggle between compute and graphics on the same command queue more than absolutely necessary
  • This is still a heavyweight switch to make

From https://developer.nvidia.com/dx12-dos-and-donts. Perhaps that is what you are meaning?


If you mean DX 11, please say.

Advertisement

Switching between compute and graphics on Nvidia hardware will cause a "wait for idle" since they won't do both simultaneously unless you use multiple command queues. Whether or not that actually matters for your performance depends on what you're doing. If you're already requiring some kind of barrier/sync/flush between your draws and dispatched, then it probably won't matter.

This topic is closed to new replies.

Advertisement