Sprite Size Framerate Drop


as I’m trying to understand the dx11 shaders better, I was wondering why the sprite shader has a massive frame drop down when the sprite size is scaled up. I thought this happens if more sprites are displayed within the render window.
So I played around with the zoom and noticed that the frame drop happens if I zoomed in (!?) not if zoomed out and every sprite is visible. I expected that if all sprites are visible it would take longer to render the frame… The far plane was set to a high value so I hope no sprite was excluded.

Can anybody of you explain this behavior? I guess there is a simple solution, I didn’t see at the moment…

thanks in advance

Renderer is complettly coverd with spites


and drops a lot of frames just by scaling up the sprite size


In this example i used 10 times more sprites - and the render is already slow -

but zoomed in it is terrible slow

Simply put, the bigger the sprites, the more pixels you write, so your pixel shader runs a lot more, and the writes to render target as well (fill rate)

So that sounds reasonably expected.

Thanks - I always thought that the pixel shader only calculates those pixels that are visible in the render. In my case, most of the pixels are outside of the renderer or overlapping without blending, so I thought it would not stress the GPU as the render is already completely filled with pixels…

So do I understand this right: Pixels that are outside of the renderer are already rejected in the Pixel Shader Stage, but pixels that are overlapping (even if not visible) will stress the GPU as they are eventually rejected in Output-Merger Stage?

Check for the term overdraw, and yes, scaling up those sprites is also heavy on your card as its fillrate will eventually hit its limits like vux explained … if the sprites are 1x1px only in renderspace the PS won’t run as often.
Outside of the view frustum the frustum culling should discard of the shader calls.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.