godotengine / godot

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

Heavy stutter and flicker on Steam Deck when using an external monitor #80941

Open MilesFarber opened 10 months ago

MilesFarber commented 10 months ago

Godot version

4.1.1 Stable

System information

Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Forward+) - integrated AMD Custom GPU 0405 (Advanced Micro Devices, Inc.; 31.0.14033.2008) - AMD Custom APU 0405 (8 Threads)

Issue description

https://github.com/godotengine/godot/assets/24918282/a041c0fa-eb6a-44b2-ba9d-20ce8d3a2b91

Godot Engine v4.1.1.stable.official.bd6af8e0e - https://godotengine.org
OpenGL API 3.3.0 Core Profile Context 22.40.33.02.230227 - Compatibility - Using Device: ATI Technologies Inc. - AMD Custom GPU 0405

Editing project: Z:/Documents/Documents/Godot/Test2
Godot Engine v4.1.1.stable.official.bd6af8e0e - https://godotengine.org
Vulkan API 1.3.237 - Forward+ - Using Vulkan Device #0: AMD - AMD Custom GPU 0405

WARNING: Blend file import is enabled in the project settings, but no Blender path is configured in the editor settings. Blend files will not be imported.
     at: _editor_init (modules/gltf/register_types.cpp:73)

Tested with Vega 64 desktop computer, issue doesn't happen, but I am disabled and I cannot sit in front of a desktop all day.

Steps to reproduce

1) Clean reinstall Windows 2) Clean reinstall all drivers 3) Clean reinstall Godot 4.1.1 4) Create new project 5) Rotate the view

Minimal reproduction project

Test2.zip

Calinou commented 10 months ago

Can you reproduce this after switching to the Mobile or Compatibility rendering method in the top-right corner of the editor?

Are your graphics drivers fully up-to-date from AMD's website?

MilesFarber commented 10 months ago

Can you reproduce this after switching to the Mobile or Compatibility rendering method in the top-right corner of the editor?

Are your graphics drivers fully up-to-date from AMD's website?

Happens both with Forward+ and Mobile, doesn't happen with Compatibility. Unfortunately I cannot use Compatibility because my current project REQUIRES shadows.

AMD's website drivers are not compatible with Steam Deck. You have to get them here: https://help.steampowered.com/en/faqs/view/6121-ECCD-D643-BAA8

LonelyAlucard commented 8 months ago

Same problem with 4.2 Beta 1, Forward+ can't be used, jitter is horrible in editor and games with Steam Deck Windows 11.

LonelyAlucard commented 8 months ago

It is something to keep in mind, since thousands of people who use Windows on a Steam Deck will not see games created with GoDot correctly.

LonelyAlucard commented 8 months ago

Ok, I have already found the problem, it is when two monitors are active, when you indicate in Windows that it can only be seen on the deck or only on the external monitor, it does not happen, when you activate a second monitor it happens

Cyangmou commented 8 months ago

The steamdeck runs at 60Hz With version 3.2 the Steam Deck can be switched from the default 60Hz display refresh rate to 40Hz. Then you can set a frame limiter, typically to something like 40, 20 or even 10fps.

I assume stutters might happen because multiple monitors with a different hertz rate are connected. There are similiarish problems observable in the editor when moving sprites, although in the game and not really in the editor.

However it looks related, as the order of frames seems to be confused or the heavy stutters here might be from the bigger gap of potentially 10fps to a 60hz screen. Can't confirm but something which could be kept in mind.

You can find my test results with sprite 2d on a 60hz / 100hz screen setup in this thread: Issue #6389

MilesFarber commented 8 months ago

The steamdeck runs at 60Hz

With version 3.2 the Steam Deck can be switched from the default 60Hz display refresh rate to 40Hz. Then you can set a frame limiter, typically to something like 40, 20 or even 10fps.

I assume stutters might happen because multiple monitors with a different hertz rate are connected.

There are similiarish problems observable in the editor when moving sprites, although in the game and not really in the editor.

However it looks related, as the order of frames seems to be confused or the heavy stutters here might be from the bigger gap of potentially 10fps to a 60hz screen. Can't confirm but something which could be kept in mind.

You can find my test results with sprite 2d on a 60hz / 100hz screen setup in this thread:

Issue #6389

Untrue. You cannot change the refresh rate on a Steam Deck running Windows 10. Even when both the built in and external monitor are set to 60hz, the issue still happens.

Calinou commented 8 months ago

I get a feeling this will be resolved by https://github.com/godotengine/godot/pull/80566.