Repository navigation
·
18 commits
to master
since this release
- A frame that re-presents its previous image while the GPU catches up no longer uploads joint matrices or light data first. On Vulkan each upload waited for the GPU backlog, so a GPU-bound scene with skinned meshes or moving lights blocked the UI thread for about a frame of GPU time (230 ms down to 40 ms at p95 on a Galaxy A16).
- Meshes lit by point and spot lights batch into instanced draws again. Every item got its own light list, so any ranged light split every batch; items with identical lists now share one, and froxel-lit views ignore the lists.
- Lit materials draw with a lean shader when the scene uses no irradiance field, rect area lights, environment cross-fade, parallax reflection box, ambient occlusion, or point-light shadows. It stops the full shader spilling registers on mobile GPUs (frames 1.5 to 1.8x faster on a Mali-G57) and adds about 250 KB compressed to each platform's shader bundle.
Scene.warmUptakesallShadingTiers(andSceneViewtakeswarmUpAllShadingTiers), which also compiles the shader tier the scene is not using, so turning one of those features on or off later does not stall a frame.Camera.right,Camera.horizontalForward, andCamera.horizontalRight, plusNode.forward,Node.right, andNode.up, give the world-space basis for movement and aiming without deriving it by hand.