Add bounded aircraft control and verify current packaged runtime closure

This commit is contained in:
2026-09-19 13:31:51 +02:00
parent 4125018d04
commit a880e0485c
695 changed files with 79317 additions and 44 deletions
+22
View File
@@ -89,3 +89,25 @@ Record through the first frame endpoint at or beyond `warmup_seconds + duration_
Each repeated run reports median, p95 and p99 frame/tick duration in milliseconds; median, p05 and p01 interval FPS/rate; throughput (`included interval count / included interval seconds`); and median/p95 AI profiling milliseconds. FPS/rate percentiles are computed directly from `1000 / frame_time_ms`, not the reciprocal of mean duration. Percentiles use nearest rank (`ceil(percentile × sample count)`); medians use the conventional midpoint average for even counts. Thus reciprocal upper duration and lower FPS ranks may differ by one observation. Throughput is a different statistic from median instantaneous rate.
Variant aggregates are the **median of each per-run metric**, giving repeats equal weight; they are not pooled-frame percentiles. Paired repeat deltas report median-frame reduction, p99-frame reduction, and throughput-rate increase as percentages of baseline. Positive values indicate the named numerical reduction/increase within those supplied samples, negative values indicate regression. The final delta summary is the median of paired deltas. No confidence interval, significance test or automatic performance pass is produced. Input manifest and CSV SHA-256 hashes retain provenance for review, but hashes do not authenticate the origin of recordings.
## Acquisition boundary from the installed APIs
The 2026-09-19 read-only audit found a supported telemetry entry point in
`Game.OnUpdate(BaseWorld world, float timeslice)`, with native world frame numbers
and `System.GetProfileData()`. A future neutral observer could record that update
cadence and physical population without editing either mission. It must first
validate interval semantics and collection overhead. `System.GetFPS()` and
`System.GetFrameTimeS()` explicitly average ten frames; they are not raw slow-tail
samples. `ProfileData.SimulationTimeMs` is total simulation time, **not AI time**;
no AI-only timing getter/export was established. Unknown AI cost must remain
unavailable, never zero or renamed total simulation cost, so the present strict
CSV format cannot yet be populated completely from those APIs alone.
Supported [`-logStats`](https://community.bistudio.com/wiki/Arma_Reforger%3AStartup_Parameters#logStats)
already produced native timing/population summaries in the archived empty-server
`dedicated-2026-09-19-084040-vanilla` run. These window summaries cannot reconstruct
individual frames or AI cost. Existing private runners cap display/server cadence
at 30 Hz/FPS; their records cannot demonstrate ordinary-client improvement. No
new collector, benchmark or performance acceptance resulted from this audit.
The [native server statistics exporter](native-server-statistics.md) now extracts real coarse `-logStats` records from existing console logs, preserving source hashes and raw lines. It explicitly leaves unavailable AI-only duration and raw-frame percentiles unknown. Its output is useful for native monitoring, but cannot substitute for the matched frame/tick datasets required above.