godotengine / godotengine/godot

Having a native subwindow visible makes CPU% go from ~10% to ~80% with Linux compatibility renderer (VSync doesn't work)

Open
#93,014 11 comments 2 reactions 0 assignees View on GitHub
bug confirmed performance platform:linuxbsd topic:platforms topic:rendering
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.