Subway Builder Performance v0.4.0
I made a larger update to Subway Builder Performance. The main thing I wanted was a better way to tell whether a setting actually helps on a particular network, without making people assemble their own spreadsheet first. The new Performance Benchmark can run Native / Safe, Balanced, and Maximum Performance with a real warm-up and measurement window, then copy either detailed JSON or a readable comparison.
I also went through the mod's own hot paths. Frame monitoring now uses bounded numeric buffers instead of allocating timestamp objects and shifting arrays every frame. Benchmark data uses a bounded ring buffer, LOD layer checks are cached until the map style changes, the overlay updates less often, and diagnostic logging no longer sorts an entire active capture every ten seconds. These changes reduce work done by the mod itself. I am not turning them into an FPS claim until there is a clean current-game benchmark.
The default remains Native / Safe. Normal presets still do not change simulation rules, routing, finances, or saves, and the gameplay-affecting Experimental options remain separate and off by default.
If you find a bug or have a network that performs particularly badly, please open an issue and include the diagnostics and benchmark output. Contributions are welcome. If you use the mod, consider starring the repo. It helps other Subway Builder players find it.
What changed
- Added guided 15-second warm-up and 30-second benchmark runs for Native / Safe, Balanced, and Maximum Performance.
- Added repeated-run comparisons, detailed JSON export, and a human-readable report.
- Added Copy Diagnostics / Performance Report for issue-ready technical details without save or session identifiers.
- Reduced mod-side allocation, array movement, percentile sorting, overlay updates, repeated LOD queries, and unchanged settings writes.
- Reorganized the settings panel so visual optimization, monitoring, benchmarking, and gameplay-affecting Experimental options are clearly separated.
- Added GitHub support links, issue forms, a pull request template, and a short contributing guide.
- Kept pre-1.5 measurements clearly historical. Current Subway Builder 1.6 results still need a real in-game run.
Help test it
Run the same scene under the three standard presets, keep the camera and simulation state consistent, and attach the copied report if something looks wrong. The benchmark automatically restores the settings you had before each run.