Revisit Render/DrawFunction Design #5117
Labels
A-Rendering
Drawing game state to the screen
C-Performance
A change motivated by improving speed, memory usage or compile times
Uh oh!
There was an error while loading. Please reload this page.
What problem does this solve or what need does it fill?
After a round of optimizations for rendering and ECS in general, the render phase is now the largest CPU-side bottleneck when rendering more complex scenes. Speeding up the render phase is central to having a performant rendering pipeline.
What solution would you like?
DrawFunctions incur the following costs as unavoidable overhead.
Box<dyn Draw>
.These costs are mitigated via CPU caching and SystemState/QueryState level checks, but ideally, these costs should be moved out of the hot loop and into a preparation stage of some kind. What form this takes may not be too clear given the constraints the phase is operating under.
What alternative(s) have you considered?
All of these are orthogonal approaches for chunking/splitting/speeding up the phase:
Query::get
.The text was updated successfully, but these errors were encountered: