I'm trying to optimize a geometry pass for a game using dx11 and deferred rendering. (All test are performed on Nvidia GTX 1060 at fixed clock rate)

After profiling with NSight it seems to have very bad utilization of GPU. With the top SOL% being SM:36%

NSight Capture with texture sampling

I decided to investigate and tried to remove all texture sampling and have a pass that would only write constants to the GBuffer and obtain a very different profiling in NSight but not much difference in timing. I would have expected much more throughput for a shader that basically writes constants.

NSight Capture without any texture sampling

I tried to reduce the GBuffer layout which was originally (FP16 + 2x ARGB32, ARGB32) to 3x ARGB32 with absolutely no difference.

So I'd like to know if somebody has an idea what could be done to improve this pass. Especially if I could be missing something that slows down.

More precise question: WHAT THE HELL IS Stall Short Scoreboard ??? The only info I found about this counter was that

Warp was stalled waiting for a scoreboard dependency on a MIO (memory input/output) operation

But I don't understand how I could reduce it. Thanks in advance for any help. Hit me if you need any info that could be useful.

  • $\begingroup$ What happens when you reduce the render resolution to something very low, like 32 x 32 pixels? What do your shaders look like? How often do you bind textures? $\endgroup$ Nov 24, 2020 at 6:06


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.