Skip to content

Improve startup time - #1374

Open
adfriz wants to merge 2 commits into
leezer3:masterfrom
adfriz:improve-startup
Open

Improve startup time#1374
adfriz wants to merge 2 commits into
leezer3:masterfrom
adfriz:improve-startup

Conversation

@adfriz

@adfriz adfriz commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Trying to make the startup faster, especially the cold start.

from my personal test, cold start down to 4~ second. after the JIT and cache done by the OS, could make the second time app startup to be less than 2 second.

it logged to the log txt in C:\Users\username\AppData\Roaming\OpenBve\Settings

some log will be writen after the app close.


need more test on mac and linux and other non latin system locale e.g CJK...

and make sure all plugin loaded and working as usual...

adfriz added 2 commits August 3, 2026 11:36
- Record the elapsed startup time for named phases in OpenBVE, the
  Route Viewer and the Object Viewer, separated by program
- Write the timings to the log file once the startup phases have completed
- Load language files in parallel, with en-US loaded first as the fallback
- Load input device plugins asynchronously after the main menu is shown
- Defer enumerating installed fonts until the options page is opened
- Populate the route and train lists on background threads, with
  generation counters to discard stale results
- Sniff only the start of CSV route files instead of reading them entirely
- Serialise plugin loading with a lock, as it may now be requested from
  multiple threads at the same time
@adfriz adfriz changed the title Improve startup Improve startup time Aug 3, 2026
@adfriz

adfriz commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

this should make the window appear faster for player that use HDD. idk how much faster, i dont have any HDD laying around...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant