godotengine / godotengine/godot
Having a native subwindow visible makes CPU% go from ~10% to ~80% with Linux compatibility renderer (VSync doesn't work)
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
_Edit: Updated MRP to print FPS_
### Tested versions
Reproduces in:
- v4.3.beta1.official [a4f2ea91a]
- v4.3.dev6.official [64520fe67]
- v4.3.dev1.official [9d1cbab1c]
- v4.2.2.stable.official [15073afe3]
Doesn't reproduce with Forward+ or Mobile renderer, or in Windows.
### System information
Arch Linux #1 SMP PREEMPT_DYNAMIC Fri, 31 May 2024 15:14:45 +0000 - Tty - GLES3 (Compatibility) - Mesa Intel(R) Graphics (ADL GT2) () - 12th Gen Intel(R) Core(TM) i5-1235U (12 Threads)
### Issue description
Whenever a native subwindow is visible, processor usage shoots up.
### Steps to reproduce
Run MRP and click the button.
### Minimal reproduction project (MRP)
[native-window-cpu.zip](https://github.com/user-attachments/files/16038682/native-window-cpu.zip)
Contributor guide
Research direction
Run the attached native-window-cpu.zip minimal reproduction on Linux with the GLES3 Compatibility renderer, then compare behavior with Forward+ or Mobile as described. Trace the native subwindow and VSync behavior exposed by the reproduction; done means the subwindow no longer causes the large CPU/FPS regression and VSync behaves as expected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- computer-graphics, desktop, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100