Time the shadow pass.
Renderer.info counts describe submitted work; timestamp queries measure completed GPU work when the backend exposes them. Compare both while a LightShadow updates every frame or only once.
Preparing shadow timing and timestamp-query support.
- topology
- -
- backend
- -
- updates
- -
- shadow views
- -
- map
- -
- query support
- -
- query pool
- -
- shadow target
- -
Structural controls reload the renderer so timing comparisons keep one topology and backend at a time.
- CPU frames
- -
- CPU avg
- -
- CPU p95
- -
- GPU samples
- -
- GPU avg
- -
- GPU p95
- -
- draw calls
- -
- triangles
- -
Run the fixed sample after the first shadow map is ready. GPU values arrive asynchronously and may be unavailable on WebGL2.
Dynamic LightShadow updates add shadow-view work to each frame. Static shadows can cache that work, but moving casters then leave the map stale until Refresh shadow map sets needsUpdate for one new pass.
CPU is host-side render submission time. GPU is the latest completed renderer timestamp-query result, not a promise that every browser exposes device timing.
Tune shadow quality next ->