-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Projects using the "compatibility" rendering engine take a few seconds to run now #95772
Comments
Do you have any specific USB devices connected (most notably Corsair iCUE devices)? See #20566. |
I have no USBs plugged into my laptop |
I didn't mean to click the close button |
I checked with 4.2.2:
4.3:
Since the names has changed, I attempted to match up the equivalent benchmark items:
It seems there is a significant increase of time taken in "servers" or "Startup/Servers" (+150%). |
Could you test intermediate 4.3 dev/beta/rc snapshots to pinpoint the first one that shows this performance/speed regression? https://godotengine.org/download/archive/ |
It first happens on dev4 version of 4.3. https://godotengine.org/download/archive/4.3-dev4/ I suspect it has something to do with this change:
It's just the most notable change with running the project, but I don't know if this affects anything |
I guess this comes mainly from the rendering server.
Not sure why this would impact startup time, but maybe it impacts which Nvidia profile is used for the application. Could you check which profiles you have in the Nvidia panel for different versions of Godot and see if maybe they have different config? It may also be related to adding support for Glow in the compatibility, which may simply make it more expensive to run by default. I tried on Linux and couldn't reproduce any significant startup time difference on my laptop between 4.2 and 4.3, but both take around 0.3s seconds for the Servers init. If you can compile from source, it would be worth bisecting between 4.3.dev3 and 4.3.dev4 to pinpoint the exact commit that caused the regression with certainty. |
From my very crude profiling on a (slightly outdated and with local changes) debug build with VTune (sampling every 0.01 ms). The function that took most time is shown to be Not sure if this is indicative. I don't see changes between dev3 and dev4 that seem relevant and and I don't have before/after comparison. Can't do much testing soon. |
DisplayServer seems more likely:
|
CC @bruvzg |
I can't reproduce any slowdown: App ID setup is almost instant (23 usec). The longest DisplayServer init parts are I do not think ANGLE fallback has changed much (apart from adding more devices to the list, but matching a bunch of strings can't have any impact). NV profile was changed, so it's likely the reason, and there's might be an issue with it, it's bound to the executable name, so editor and running project might cause some conflicts or recreation of the profile. |
Here there is a noticeable delay. When I run
It doesn't look like the delay is caused by NVIDIA profile setup, given that "NVAPI: Init OK!" is printed before actually setting up the profile. The delay also doesn't happen when running with |
It might |
I guess we can only get IDs if a specific device name pattern is found (it is to detect devices that identify as generic |
Maybe you can also try other ways of getting the GPU VendorId/DeviceId? Chromium uses Firefox seems to do something more complicated, first using |
Tested versions
System information
Godot v4.3.stable - Windows 10.0.22631 - GLES3 (Compatibility) - NVIDIA GeForce RTX 4050 Laptop GPU (NVIDIA; 32.0.15.5599) - 13th Gen Intel(R) Core(TM) i7-13650HX (20 Threads)
Issue description
When you click the "Run Project" button, or the "Run Current Scene" button, or the "Run Specific Scene" button, then the window for the project will take a few seconds to open. But that's only if the rendering engine is set to compatibility. This makes it slower to playtest, since before 4.3 the project would run almost instantly. And this happens no matter how big or small the project/scene is.
Steps to reproduce
Minimal reproduction project (MRP)
new-game-project.zip
The text was updated successfully, but these errors were encountered: