Graphics & Engine•Study date: July 26, 2026•Printable brief ↗Negative Results

Published by Sean Carr

Five Optimizations That Measured Flat

Correct, byte-identical changes that did not move the frame, and why we record them anyway.

Executive Brief

At a Glance

Fence sync vs queue drain

9.52 ms vs 9.45 ms

Fence sync replacing a per-frame queue drain: 9.52 ms vs 9.45 ms mean before (240 frames), recorded as flat.

Skipping redundant descriptor writes

9.35 ms skip vs 9.41 ms

Skipping redundant descriptor writes: 9.35 ms skip vs 9.41 ms forced writes (240 frames), recorded as flat; the scene was present-bound, not descriptor-bound.

Skipping shadow depth re-record

19.25 ms vs 19.34 ms

Skipping the shadow depth re-record on unchanged inputs: 19.25 ms vs 19.34 ms (60 frames). The plan had estimated 440 ms of savings, but that estimate predated an earlier fix.

Static-caster bounds cache

about 0.17 ms

Static-caster bounds cache for the shadow fit: about 0.17 ms whole-frame gain against an attributed ~3 ms. The cache reached steady state (2384 static, 12 dynamic casters, 0 rebuilds), but the 3.24 ms union cost was entirely the 12 moving NPCs' per-vertex walks, which no static cache can remove.

Empirical Findings TableScroll table →
Telemetry MetricMeasured ValueContext & Observability
Fence sync vs queue drain9.52 ms vs 9.45 msFence sync replacing a per-frame queue drain: 9.52 ms vs 9.45 ms mean before (240 frames), recorded as flat.
Skipping redundant descriptor writes9.35 ms skip vs 9.41 msSkipping redundant descriptor writes: 9.35 ms skip vs 9.41 ms forced writes (240 frames), recorded as flat; the scene was present-bound, not descriptor-bound.
Skipping shadow depth re-record19.25 ms vs 19.34 msSkipping the shadow depth re-record on unchanged inputs: 19.25 ms vs 19.34 ms (60 frames). The plan had estimated 440 ms of savings, but that estimate predated an earlier fix.
Static-caster bounds cacheabout 0.17 msStatic-caster bounds cache for the shadow fit: about 0.17 ms whole-frame gain against an attributed ~3 ms. The cache reached steady state (2384 static, 12 dynamic casters, 0 rebuilds), but the 3.24 ms union cost was entirely the 12 moving NPCs' per-vertex walks, which no static cache can remove.
Skipping dead uniform writes371 to 48Skipping dead per-member uniform writes in crowd batches: writes fell from 371 to 48 at N=1024, but whole-frame time moved 27.06 to 26.70 ms (1024) and 7.49 to 7.47 ms (256), within noise. The earlier recon estimate for this bracket was about a 1000x over-estimate; its actual cost was about 0.02 ms.

Executive Summary & Core Finding

Over three weeks, five engine optimizations each passed their correctness gates and then measured flat or near-flat on whole-frame time. In two cases the change itself worked as designed, but the cost it targeted had been mis-attributed, once by about 1000x.

Method

1

Data collected Jul 26 to Aug 15, 2026; written up October 2026.

2

Each change was built behind an environment switch so the old and new paths ran in one binary, then measured on the engine's whole-frame timer in the playing state.

3

Sample sizes per commit: 240-frame steady-state runs for the fence and descriptor changes, 60 frames for the shadow-map skip, steady-state in-app decomposition plus a standalone microbenchmark for the shadow-fit cache, and a fixed camera anchor at 256 and 1024 crowd members for the uniform-buffer skip.

4

All runs on the development workstation; hardware is not recorded in these commits.

Empirical Telemetry

What We Measured

Five correct optimizations that measured flat on whole-frame time

Fence sync vs queue drain

9.52 ms vs 9.45 ms

Fence sync replacing a per-frame queue drain: 9.52 ms vs 9.45 ms mean before (240 frames), recorded as flat.

Skipping redundant descriptor writes

9.35 ms skip vs 9.41 ms

Skipping redundant descriptor writes: 9.35 ms skip vs 9.41 ms forced writes (240 frames), recorded as flat; the scene was present-bound, not descriptor-bound.

Skipping shadow depth re-record

19.25 ms vs 19.34 ms

Skipping the shadow depth re-record on unchanged inputs: 19.25 ms vs 19.34 ms (60 frames). The plan had estimated 440 ms of savings, but that estimate predated an earlier fix.

Static-caster bounds cache

about 0.17 ms

Static-caster bounds cache for the shadow fit: about 0.17 ms whole-frame gain against an attributed ~3 ms. The cache reached steady state (2384 static, 12 dynamic casters, 0 rebuilds), but the 3.24 ms union cost was entirely the 12 moving NPCs' per-vertex walks, which no static cache can remove.

Skipping dead uniform writes

371 to 48

Skipping dead per-member uniform writes in crowd batches: writes fell from 371 to 48 at N=1024, but whole-frame time moved 27.06 to 26.70 ms (1024) and 7.49 to 7.47 ms (256), within noise. The earlier recon estimate for this bracket was about a 1000x over-estimate; its actual cost was about 0.02 ms.

Interpretation & Working Hypotheses

What We Think It Suggests

  • A profile that attributes cost to a code region is a hypothesis, not a measurement of what removing that region will save. In two of these five, the region was right but the reason it was expensive was wrong, and only a whole-frame A/B showed it.
  • Keeping flat results in the record, with the switch that reproduces them, seems to prevent the same idea from being re-proposed later as an untested win.
Methodology Boundaries

Limits

  • Small run counts (60 to 240 frames) and mean-only statistics for most rows; differences of 0.05 to 0.1 ms are inside the run-to-run noise we observed, so none of these rows supports a claim of a small gain or a small loss.
  • Each null is specific to the scene at that commit. Several changes were kept because they would matter in heavier scenes, which was not measured here.

Detailed Analysis & Field Observations

Over three weeks, five engine optimizations each passed their correctness gates and then measured flat or near-flat on whole-frame time. In two cases the change itself worked as designed, but the cost it targeted had been mis-attributed, once by about 1000x.

Data collected Jul 26 to Aug 15, 2026; written up October 2026.