godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.71k stars 20.12k forks source link

Sluggish performance when making scripting window floating #79290

Open theNullinator opened 1 year ago

theNullinator commented 1 year ago

Godot version

4.1

System information

Ubuntu

Issue description

I'm finding that the floating scripting window causes the entire editor to become sluggish. It seems fine on my PC, but on my Surface Go 2 it performs poorly. As soon as I redock it the editor performs perfectly. Other floating docks don't seem to have any issues.

Steps to reproduce

Make scripting window floating.

Minimal reproduction project

N/A

Calinou commented 1 year ago

Despite being released in 2020, the CPU/integrated graphics choices available in the Surface Go 2 are very slow by today's standards. It's no surprise that it feels sluggish whenever it has to render two Godot windows at once. I doubt anything can be done about this.

You may be able to get better performance by switching to a window manager that allows you to disable compositing, such as KWin (KDE) or Xfwm (Xfce).

What CPU and graphics card does your main PC have?

theNullinator commented 1 year ago

PC has an i7-4790K and an Asus RTX 4070ti. I'm not sure which one the Surface Go 2 has, but I got the most expensive one. I'm aware that it's pretty slow, but Godot runs perfect on it, at least in Ubuntu. I got rid of Win11 on it to breathe new life into it. Gnome is a bit heavier. I'll try another environment.

DoodleGarbage commented 7 months ago

I can confirm a significant sluggishness on the floating script editor (With a good PC), and should note the performance is different with a maximized vs not maximized script editor. Currently using Godot 4.2.1 stable. Windows 11, AMD Ryzen 9 6900HS, AMD Radeon RX 6700S Note that this behavior is present without any other applications open (except the Godot Engine) 30 second video demonstrating the performance of the floating script editor (maximized and not maximized): https://github.com/godotengine/godot/assets/103141115/9b49457e-6a86-4c02-81db-26edd6c449dc

DoodleGarbage commented 7 months ago

This issue is not just the floating scripting window, and additionally applies to at least one other window that Godot makes. This includes the pop-up menu for making a new script or scene. (Demonstrated in the attached video) However, I don't see this lag in the project settings window, editor settings window, help window, Quick load, and Load file windows. (I can't think of any other windows to test their speed) The attached video demonstrates the same slow responsiveness seen in the script editor with the create new pop-up, and same maximized/not maximized behavior. https://github.com/godotengine/godot/assets/103141115/bfd89860-c375-467f-9277-7e756d7a7133

DoodleGarbage commented 5 months ago

Coming back here to ask for some people to re-check this. Still using Godot 4.2.1 (stable) with the same hardware setup, only thing that (I believe) has changed since January are a couple of Windows 11 updates. Either way, I no longer see a slower performance between minimized, maximized, and docked windows of the scripting window. Same goes for the new script/scene menu.

StrangeLost commented 4 months ago

@DoodleGarbage Still in an issue in godot 4.3 dev6.

Miguel0312 commented 2 months ago

I have the same problem on Ubuntu in versions 4.2.2 and version 4.3 beta 1. What I have noticed is that this occurs specifically when the screen is maximized, even if I make it a similar size of full screen I don't see the same problem.

FloatingWindowBug

The first part is with the window not being maximized and I have normal FPS but the moment I put it as maximized, the FPS drops.

teestood commented 1 month ago

It's not noticeable in simple scenes. But if there are GPUParticles (2D) in the scene, the performance drops noticeably. This is 4.3 beta1.

Calinou commented 1 month ago

Can you reproduce this after setting V-Sync Mode to Disabled in the Project Settings (until 4.2.x) or the Editor Settings (in 4.3.beta and later), then restarting the editor?

teestood commented 1 month ago

Can you reproduce this after setting V-Sync Mode to Disabled in the Project Settings (until 4.2.x) or the Editor Settings (in 4.3.beta and later), then restarting the editor?

I've tried it and it seems to work fine. Thanks for the quick response.

Calinou commented 1 month ago

I guess this is due to the same cause as https://github.com/godotengine/godot/issues/93014 then. Having multiple windows open with V-Sync enabled halves the maximum framerate each window can achieve. If you have 3 windows open in the same Godot process, it's a third of the maximum refresh rate and so on.