-
-
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
Resizing a floating game window is slow #102197
Comments
cc @Hilderin |
Resizing a window will always be a slow operation with Vulkan as recreating the swapchain takes a while (definitely longer than OpenGL). Since game window embedding is used, Godot has to resize two swapchains every time the window is resized: one for the floating window, and one for the game being embedded (which is a second floating window). Unfortunately, I don't see a way to optimize this, as a lot of the slowness is down to the OS and graphics driver here. If you switch to the Compatibility rendering method, it should appear to be noticeably faster. We can however make the slowness less appearant by not requiring the game window to have its resize operation completed before you can see changes to the floating window. This means they will visibly go out of sync during resize operations, but it may be preferable to do this if it means it's smoother to resize the window. |
That may as well be true, but I'd profile the resize before making a final judgement! It's always possible there's something else unexpected going on that's eating resources. |
After some testing the performance issue was caused by the |
Tested versions
System information
Godot v4.4.beta1 - Windows 10 (build 19045) - Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1050 (NVIDIA; 31.0.15.5212) - Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz (4 threads)
Issue description
When trying to resize the floating game window, the movement is not smooth and appears as low FPS
2025-01-30-14-08-31.mp4
(video is from beta1 but also reproducible on beta2)
Steps to reproduce
Create new project with empty Node2D scene and hit play, then resize game window
Minimal reproduction project (MRP)
N/A
The text was updated successfully, but these errors were encountered: