Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Render UI and multiple sheets without breaking the batch. #15194
This PR follows on from #15149 by merging RGBA sprite rendering into the same shader as normal sprites and colors, and then takes a much more dramatic step for reducing batch breakage by managing 8 parallel texture bindings (limited by our minspec gfx target).
This gives a significant performance win for the UI, especially in the lobby where we are constantly switching between rendering images and text. This also helps a lot in TS, where the ingame sprites don't fit within a single sheet.
This also disables the requirement that depth sprites must live on the same sheet as the sprite it is attached to, which simplifies our sequence and sprite building code.
Some numbers from my laptop, with #15177 disabled in order to disambiguate the render times from tick:
@pchote You could try and query OpenGL how many it supports so you can try to lift the number of sheets higher then 8.
referenced this pull request
Jun 1, 2018
reaperrr left a comment
Don't know if you changed something major since the earlier revision I tested, but batch reduction and and worst-case render ticks improved by another order of magnitude since then
I updated my mods yesterday, and I want to share the results.
On Shattered Paradise the amount of batches reduced from 300 when zooming out a map to 30, on the earlier version the amount of batches would increase with less zoom, but this is not the case anymore, so it remains around 30 all the time. I will hand the build to an user who didnt had a high end PC to see if there are any improvements when playing.
On Nomad Galaxy the perf improvement isnt that noticeable because there isnt much content, but one thing that calls my attention is that my laptop ventilator isnt running at full speed when testing anymore, thats a nice change, thanks.