Files
WoWee/include/rendering
Kelsi 2178fcc70d perf(wmo): spread texture uploads across calls like the groups
The pre-decode hit counter settled it: a transport load reported all 15 of
its textures served from the worker's cache and still spent 40ms in the
texture pass — 2.7ms each, against 0.46ms each for an ordinary model with
the same count. So the cost was never the BLP decode the async path
removes; it is the GPU upload of much larger images, and that runs on the
main thread either way.

Give the texture pass the same treatment the group pass already has: track
the next texture and return InProgress when the budget is spent, resuming
where it left off. At least one texture goes per call, so a model always
makes progress.

This also means my two previous attempts at these hitches were aimed at
the wrong thing — the async path was already delivering pre-decoded
textures correctly.
2026-07-31 10:26:33 -07:00
..