Merge pull request #115118 from bruvzg/splash_pump

Process system events during boot splash wait time.
This commit is contained in:
Rémi Verschelde
2026-01-19 21:45:40 +01:00

View File

@@ -4725,11 +4725,18 @@ int Main::start() {
GDExtensionManager::get_singleton()->startup();
if (minimum_time_msec) {
uint64_t minimum_time = 1000 * minimum_time_msec;
uint64_t elapsed_time = OS::get_singleton()->get_ticks_usec();
if (elapsed_time < minimum_time) {
OS::get_singleton()->delay_usec(minimum_time - elapsed_time);
int64_t minimum_time = 1000 * minimum_time_msec;
uint64_t prev_time = OS::get_singleton()->get_ticks_usec();
while (minimum_time > 0) {
DisplayServer::get_singleton()->process_events();
OS::get_singleton()->delay_usec(100);
uint64_t next_time = OS::get_singleton()->get_ticks_usec();
minimum_time -= (next_time - prev_time);
prev_time = next_time;
}
} else {
DisplayServer::get_singleton()->process_events();
}
OS::get_singleton()->benchmark_end_measure("Startup", "Main::Start");