mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-08-01 18:29:24 -04:00
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.