Hello,
My application has some performance issue that causes few frames drop. The video passes through multiples shaders in the application. I would like to know the followings:
How do I know that which shader causing low performance? Is there a way to track down exactly where I lose frames? Anything in my shader or somewhere else?
ZBuffer is already disabled in our application, I still see the Blending & ZBudffer percentage is high in Frame Profiling Summary Report. What may cause this problem?
I am using NVidia NSight v4.0 for Frame Profiling.
For 1):
Nsight’s Frame Profiling determine the performance based on each drawcall, not each shader. Low performance maybe related to anything in the GPU’s pipeline, not only the shader. Maybe you can check the “Bottleneck %” item in Nsight Frame Profiling.
For 2):
Hard to say why without careful investigation on specific sample. “Blending & ZBuffer” means not only z-test, but also blend. Are your application use too many blend operation?
I am using Nsight for the first time. Is there a way, I can send you the screen shot of bottleneck % as attachment? or can u send me your personal email where I can send you the screen shots?
Where do I need to focus on debugging part after examining the Bottleneck %?
For each draw call, we are using multiple shaders… I want to first find out if any particular shader is causing problem! Or maybe my GPU pipeline…
For blending… let me double check my code and will post here…
You can send us the screen shot here: NsightVSE-Support{#}nvidia.com, please replace the pound key with at key.
Furthermore, you can save the Frame Profiling page to some place and send it to us. The ‘save’ icon in the Profiling page can help you.
After examining the Bottleneck, you will know which part of GPU make your drawcall be slow, maybe Tex, Shader, etc. Then it’s time for investigating why this special part be a bottleneck.