Files
mommysgoodpuppy 927136050d Speed up the decoupled renderer and skip unchanged scenes
Render thread (panorama, nice 0, load ~27 on 16 cores):
- Per-run UI panel slots reused across eyes, one per-frame panel data texture, and cached
  struct bytes for shader uniforms and draw matrices: renderRaythreeFrame 4.16 -> 2.27 ms.
- The worker skips publishing scenes whose fingerprint (overlaySceneFingerprint) matches the
  last one sent, with a 1 s keepalive. Anchored items now keep bit-identical local matrices
  while nothing moves: built from the local transform chain, or held through rounding noise
  where uikit derives matrixWorld from layout. Decode on the render thread 1.78 -> 0.04
  ms/frame when idle; render thread busy 6.4 -> 4.2 ms/frame.

Diagnostics: a frame timeline probe with schedstat in overlayRenderOwner, CPU profiling with an
interval, dropLateFrames, renderThreadNice, split presenter finish/wait/publish, a native
WaitFrameSync phase probe and a compositor frame-timing probe. asyncFrameWait,
projectionPacing and deferDecode are projection experiments that did not help.

Also includes the other agent's pending overlay scene buffer, wire and ovrdriver lab work.

Agent: Claude Code 2.1.296; model claude-opus-5-5; thread 941be8c7-aca1-4664-b284-7cc0eed69e21
2026-10-16 20:12:06 +03:00
..