Merge remote-tracking branch 'origin/main' into header-ghost-fix
This commit is contained in:
@@ -193,20 +193,24 @@ func test_visibility_texture_update_performance() -> void:
|
||||
fog_state.update_from_state()
|
||||
|
||||
# Measure the steady-state per-frame update (same positions, no resize).
|
||||
# Median of 5 runs: a single wall-clock sample flakes when the machine is
|
||||
# loaded (T-1092 — the pre-push gate shares the box with live sessions);
|
||||
# the median keeps the D-059 budget intent while absorbing load spikes.
|
||||
# MINIMUM of 7 runs (T-1210, superseding T-1092's median-of-5): the
|
||||
# assertion asks whether the CODE meets the D-059 budget, and wall-clock
|
||||
# load can only inflate a sample, never deflate it — so the minimum is
|
||||
# the least-noise estimator of code capability, while a real regression
|
||||
# shifts the minimum too. Median-of-5 still flaked three times on
|
||||
# 2026-07-26 when a cargo build saturated every core and inflated all
|
||||
# five samples together (0.549/0.503/0.638 vs the 0.5 budget).
|
||||
var samples: Array[float] = []
|
||||
for _i in range(5):
|
||||
for _i in range(7):
|
||||
var start := Time.get_ticks_usec()
|
||||
fog_state.update_from_state()
|
||||
samples.append((Time.get_ticks_usec() - start) / 1000.0)
|
||||
samples.sort()
|
||||
var median_ms: float = samples[2]
|
||||
var best_ms: float = samples[0]
|
||||
|
||||
# D-059: Visibility texture upload budget: 0.1ms
|
||||
# Allow margin for test environment overhead
|
||||
assert_that(median_ms).is_less(0.5)
|
||||
assert_that(best_ms).is_less(0.5)
|
||||
|
||||
GameState.visible_positions.clear()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user