X Tutup
Skip to content

Defer checking for rendering device support until the new project dialog is opened#110269

Merged
Repiteo merged 1 commit intogodotengine:masterfrom
clayjohn:delay-RD-check
Sep 19, 2025
Merged

Defer checking for rendering device support until the new project dialog is opened#110269
Repiteo merged 1 commit intogodotengine:masterfrom
clayjohn:delay-RD-check

Conversation

@clayjohn
Copy link
Member

@clayjohn clayjohn commented Sep 5, 2025

This can save a lot of time opening the project manager and the information is only ever needed when creating a new project anyway

On my device, this saves between 0.7 seconds when opening the project manager for me. That's down to about 1.1 seconds from 1.8 seconds. For reference, Godot 3.5.3 opens in about 0.9 seconds for me, so this gets us nearly back to that startup time.

Copy link
Member

@bruvzg bruvzg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable to me. It probably was not as slow as it is when dialog was implemented (current version is running a separate instance to avoid buggy driver crashes).

…log is opened

This can save a lot of time opening the project manager and the information is only ever needed when creating a new project anyway
@clayjohn
Copy link
Member Author

clayjohn commented Sep 5, 2025

Looks reasonable to me. It probably was not as slow as it is when dialog was implemented (current version is running a separate instance to avoid buggy driver crashes).

Ya, it's a lot slower now with the separate instance, so the cost is much more noticeable. It was bad before and I shouldn't have added the check in the initializer to begin with in any case.

Copy link
Member

@Calinou Calinou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally, it works as expected. I've checked the Forward+/Mobile options are marked as available from all rendering drivers (OpenGL, Vulkan, D3D12 from NVIDIA or WARP). Code looks good to me.

Benchmark

PC specifications
  • CPU: AMD Ryzen 9 9950X3D
  • GPU: NVIDIA GeForce RTX 5090
  • RAM: 64 GB (2×32 GB DDR5-6000 CL30)
  • SSD: Solidigm P44 Pro 2 TB
  • OS: Windows 11 24H2

Using an optimized editor binary compiled with MSVC 2022.

Time to run godot --quit on the project manager (includes startup and shutdown, average of 5 runs):

Before After
1.76s 1.57s

@Repiteo Repiteo merged commit 3c9d03b into godotengine:master Sep 19, 2025
20 checks passed
@Repiteo
Copy link
Contributor

Repiteo commented Sep 19, 2025

Thanks!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

X Tutup