Skip to content

Benchmarks & Reproduction ​

Aegis Save is built on an empirical performance culture (P-14): we never publish theoretical estimates or unmeasured claims. Every performance figure is measured on an editor-less, standalone cooked Development game target under adverse, real-world conditions.

This guide details our published benchmark figures and explains how any studio or developer can reproduce these measurements directly in their own project using the shipped benchmarking harness.


1. Published Benchmark Results ​

Evaluated against standalone cooked game builds (BassSaveProject.exe) on Windows (Win64) using DirectX 12 SM6:

Benchmark ScenarioPopulation & ConditionsTarget BudgetMeasured Added p99Trimmed Top-K DeltaStatus
Experiment A (Standard World)200 placed actors, non-streaming, 2% dirty fraction, 1.0 churn$\le 1.00\text{ ms}$0.9065 ms0.9267 msPASS
Experiment B (Streaming World)10,000 placed actors, World Partition streaming active, 2% dirty fraction, 1.0 churn$\le 1.00\text{ ms}$0.6052 ms0.5909 msPASS

Key Observations from Experiment B ​

  • Active Streaming Confirmed (P-12 OBSERVED): Streaming residency was actively probed via TActorIterator throughout the test. Resident actor counts actively cycled between 0 and 10,000 actors across 15 sweep reversals.
  • Sub-Millisecond Tail Latency: Even while streaming cells loaded and unloaded 10,000 actors, the median added p99 impact on the Game Thread remained strictly at 0.6052 ms—well inside the 1.00 ms budget ceiling.
  • Worst Frame Overrun: Across all trials, the absolute worst-case frame overrun observed was only 0.1840 ms.

2. How to Reproduce Benchmarks in Your Project ​

Aegis Save ships with its benchmarking harness included in the plugin (AegisSaveBenchmark module). You can run the exact same experiments in your own maps.

Step 1: Place Benchmark Actors ​

If you want to generate a dense test population in a map:

powershell
# In Unreal Editor command line:
UnrealEditor-Cmd.exe YourProject.uproject -run=AegisPlaceBenchmarkActors -Count=10000 -Clear -unattended -nosplash

Step 2: Execute the Automated Benchmark ​

Run the standalone game process with the Aegis.Benchmark.Run command:

powershell
# Experiment A: Standard Map (200 actors, 2% dirty fraction, 1.0 churn)
UnrealEditor-Cmd.exe "YourProject.uproject" /Game/Maps/YourMap -game -nullrhi -nosound -unattended -nosplash -AegisBenchmarkExit -ExecCmds="Aegis.Benchmark.Run 200 0.02 1.0" -abslog="Saved/Logs/Bench.log"

# Experiment B: Streaming World (10,000 actors, World Partition sweep)
UnrealEditor-Cmd.exe "YourProject.uproject" /Game/Maps/YourMap -game -nullrhi -nosound -unattended -nosplash -AegisBenchmarkExit -ExecCmds="Aegis.Benchmark.Run 10000 0.02 1.0 2 30000 15000" -abslog="Saved/Logs/ExpB.log"

Parameters for Aegis.Benchmark.Run: ​

  1. Count: Number of persistent actors to track.
  2. DirtyFraction: Fraction of actors modified per save (e.g. 0.02 for 2%).
  3. ChurnRate: Rate of state mutations per second.
  4. Trials: Number of paired measurement passes (default 2).
  5. SweepHalfExtent: World Partition sweep distance (e.g. 30000).
  6. SourceRadius: Streaming source radius (e.g. 15000).

3. Reading the Benchmark Report ​

When the benchmark finishes, check your log file (Saved/Logs/Bench.log). You will find a structured summary:

text
AEGIS_BENCHMARK_RESULT
  status=SUCCESS
  p12_streaming=OBSERVED
  resident_min=0 resident_max=10000
  baseline_p99_ms=6.6296
  with_saving_p99_ms=7.2349
  ADDED_p99_median_ms=0.6052
  trimmed_top_k_delta_ms=0.5909
  worst_frame_overrun_ms=0.1840

Every figure is reported with paired baseline controls and verified against null-hypothesis runs.


Next Steps ​

Aegis Save — Enterprise World Persistence for Unreal Engine 5.