Closed djmcgaughran closed 1 month ago
Sadly I don't think that's something Godot, or any application using graphics APIs, can handle gracefully.
Godot doesn't support changing the used GPU at runtime, and I'm not sure that's possible at all without restarting the process.
I wonder if we could at least stop rendering anything and force save state in the editor, and close the process gracefully.
CC @godotengine/rendering @bruvzg
I guess this is related to https://github.com/godotengine/godot-proposals/issues/10269 and https://github.com/godotengine/godot-proposals/issues/6423 .
Just curious, if you get Firefox or Chrome to run on the discrete GPU then disconnect it, are they able to recover and switch GPU?
Yes, I was running Firefox 100.0.2 throughout (as well as the Windows calculator) without any issues. I had Blender 4.0 open earlier, but I think I had closed it by the time the discrete GPU was disabled.
I guess this is related to godotengine/godot-proposals#10269 and godotengine/godot-proposals#6423 .
Indeed, I think we can close as duplicate of https://github.com/godotengine/godot-proposals/issues/10269 which covers the same problem.
Tested versions
Occurred in 4.3 RC1
System information
Godot v4.3.rc1 - Windows 10.0.19045 - Vulkan (Forward+) - integrated Intel(R) UHD Graphics 620 (Intel Corporation; 30.0.101.1339) - Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz (8 Threads)
Issue description
I am building a small prototype, and had set up a Camera3D in a scene with DirectionalLight3D, CSGBox3D (as ground plane) and an imported model. To check the camera perspective, I switched into Cinematic Preview in the 3D View, then proceeded to adjust the Transform of the imported model scene. Upon editing the Z value, the editor froze, showed a blank tooltip, flashed a 'critical error' message briefly (so I couldn't tell what the issue was), then crashed the Godot editor completely.
Upon reopening Godot and reloading the project, I was able to edit the transform successfully, though could not find any error messages or logs from the previous session that crashed.
Windows Event Viewer -> Application logs show a few errors:
and
Being a Surface Book 2, my system is running an NVidia GeForce GTX 1060, with fallback to integrated Intel UHD 620 graphics when running solely on battery power and the power level drops below a certain threshold. This is supported by the System event log containing the following SurfaceHotPlug entry at the same time when the Godot editor started to freeze:
How feasible would it be to make the Godot editor more resilient to graphics adaptor changes like this? This presented itself as running out of video memory, and my understanding is that the Intel integrated graphics uses main system memory (of which I have 16GB).
Steps to reproduce
I have been unable to reproduce this reliably; the steps I had done at this point are:
This may be reproducible on other portable systems with a discrete graphics processor that becomes disabled when both of the following are true:
Minimal reproduction project (MRP)
FlightTest.zip