-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Benchmarking & stress testing OpenRCT2
With #8458 there is support for the Google Benchmark library. The initial benchmark implemented measures performance of the sprite sorting algorithm. You should be able to use all of the library's options:
[--benchmark_list_tests={true|false}]
[--benchmark_filter=<regex>]
[--benchmark_min_time=<min_time>]
[--benchmark_repetitions=<num_repetitions>]
[--benchmark_report_aggregates_only={true|false}]
[--benchmark_format=<console|json|csv>]
[--benchmark_out=<filename>]
[--benchmark_out_format=<json|console|csv>]
[--benchmark_color={auto|true|false}]
[--benchmark_counters_tabular={true|false}]
[--v=<verbosity>]
You're welcome to experiment with code to improve it and add more benchmarks.
This is a benchmark measuring performance of the sprite sorting algorithm.
To use, invoke ./openrct2 benchspritesort [save.sv6]...
.
To benchmark park rendering, run openrct2 benchgfx path/to/file.sv6 [optional iteration count]
. By default 40 iterations are performed, but you can change this by passing a third parameter (e.g. openrct2 benchgfx save.sv6 100
would run 100 iterations).
We provide a test park containing every ride type in the tests folder - test/tests/testdata/parks/bpb.sv6
(link). It's based on Blackpool Pleasure Beach from RCT1.
Another park frequently used for benchmarking or stress-testing is Adventuredome Atlantic City from NEDesigns (frequently known as 'the dome park'). This has a bunch of rides under a glass dome, which requires a lot of work to render (open the 'roof on' version in the download).
- Home
- FAQ & Common Issues
- Roadmap
- Installation
- Building
- Features
- Development
- Benchmarking & stress testing OpenRCT2
- Coding Style
- Commit Messages
- Overall program structure
- Data Structures
- CSS1.DAT
- Custom Music and Ride Music Objects
- Game Actions
- G1 Elements Layout
- game.cfg structure
- Maps
- Music Cleanup
- Objects
- Official extended scenery set
- Peep AI
- Peep Sprite Type
- RCT1 ride and vehicle types and their RCT2 equivalents
- RCT12_MAX_SOMETHING versus MAX_SOMETHING
- Ride rating calculation
- SV6 Ride Structure
- Settings in config.ini
- Sizes and angles in the game world
- Sprite List csg1.dat
- Sprite List g1.dat
- Strings used in RCT1
- Strings used in the game
- TD6 format
- Terminology
- Track Data
- Track Designs
- Track drawers, RTDs and vehicle types
- Track types
- Vehicle Sprite Layout
- Widget colours
- Debugging OpenRCT2 on macOS
- OpenGL renderer
- Rebase and Sync fork with OpenRCT2
- Release Checklist
- Replay System
- Using minidumps from crash reports
- Using Track Block Get Previous
- History
- Testing