-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Performance
Due to the way RCT2 was designed, it may not perform as well as it could. While these issues are merely theoretical at this point, they may become more relevant as more of OpenRCT2 is written.
It is claimed that individual operating system calls to many different files is less efficient than a few calls to larger ZIP-like files. While storing custom files individually could still be done, perhaps all of the RCT2 base scenarios could be bundled into something like RCT2 Scenarios.zip
, and the tracks into RCT2 Tracks.zip
, and so on. Each expansion as well as the base game has around 650 object files, in addition to each scenario and track file.
NTFS slows down significantly with 10,000+ files in one folder. UNIX-like systems are claimed to have issues as well. If ZIP-like files are not desired, subfolder support may need to be added.
RCT2 uses poorly-compressed WAVs. FLACs are smaller and may load more quickly. Other files can probably be compressed more heavily as well, although the benefits of this may not be noticeable. Music occupies the majority (~2/3) of a default RCT2 install.
Object files use a simple RLE (Run Length Encoding) encoder to compress objects. This could/should be replaced with something more powerful such as zip. At present when a save file has embedded objects all of those objects will be copied into the main folder. This might not be the most efficient way of doing this. Ideally the user should decide if they want their object folder to be flooded with these new files.
- 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