EN-057 shipped; EN-053 closed by re-measurement (0.4 ms, not 5.3) - #109
Conversation
…053 as re-measured EN-057: the Hi-Z occlusion reduce + readback ran every frame even when no rasterized scene node existed to consume a verdict - the shooter's only nodes are 267 gi_only proxies, which never draw. The engine now derives has_consumers per frame from the scene graph and the culler skips the capture without it. Going consumer-less also invalidates the grid, so a consumer appearing later reads test_aabb's conservative 'potentially visible' answer instead of a stale capture - the gate cannot wrongly cull a draw by construction. The pyramid itself still builds (SSAO consumes it). Default true, so hosts that never call the setter keep today's behaviour. 127 tests pass; full PERFTEST bisect runs clean on the shooter. EN-053: CLOSED without implementation, and that is the result. The ticket's premise - shadow sampling as the ~5.3 ms top GPU lever - was re-measured tonight before building anything: shadows-off buys 0.4 ms on the current frame (shadow_pass 0.09 ms), while no-ssgi buys 4.9 ms. The 5.3 ms was July 12's frame; house v2, 120k grass and the photoscan terrain landed since. A shadow-mask pass tonight would have been the SH-049 attribution mistake with a week of renderer surgery attached. Registry entry carries the numbers and the re-open criterion.
|
Warning Review limit reached
Next review available in: 7 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Two outcomes from tonight's measure-first pass:
EN-057 — occlusion capture gated on real consumers ✅
The reduce+readback ran every frame for zero rasterized consumers (the shooter's nodes are all gi_only). Now gated per frame from the scene graph; going consumer-less invalidates the grid so a later consumer reads the conservative answer — cannot wrongly cull a draw by construction. Pyramid stays (SSAO consumes it). 127 tests pass; full PERFTEST bisect clean.
EN-053 — closed, premise did not survive re-measurement ❌
PERFTEST mode-0 bisect on current main: shadows-off buys 0.4 ms (shadow_pass 0.09 ms) while no-ssgi buys 4.9 ms. The 5.3 ms figure was July 12's frame — house v2, 120k grass, photoscan terrain landed since. Building the shadow-mask pass would have repeated the SH-049 attribution mistake with a week of renderer surgery attached. Registry entry records the numbers and the re-open criterion (fresh bisect showing sampling as top-3). Today's real lever is SSGI cost — quality-gated, so the direction is making it cheaper (HW ray-query path), not turning it off.