-
-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Render the project offscreen and present it using DirectX or Vulkan to solve NVIDIA Optimus stuttering #1725
Comments
It has been informed to me that the actual way to fix this issue is to have exclusive fullscreen, is it planned for 4.0? Keep in mind the solution only works if we are using EGL, so that would have to be changed too, I can take a crack at it. |
Not that I know of. In general, exclusive fullscreen is becoming increasingly less relevant over time due to the lower convenience compared to a borderless fullscreen window. See also godotengine/godot#41746. |
I will be doing a PR switching WGL with EGL if you think it's reasonable, and implementing exclusive fullscreen as an option, because the games are unplayable on optimus. |
@EIREXE Is this still relevant with godotengine/godot#44845? |
Actually no, that does fix it, I also have another patch to fix fullscreen to behave like borderless windowed ready after that. I still have to port it to 4.0 though. |
@EIREXE Is this still an issue on the latest NVIDIA drivers (526.86 as of writing)? |
As I understand yes, but only on opengl |
This doesn't apply anymore I believe since nvidia threaded optimization is now disabled. |
Note that DXGI presentation of Vulkan is tracked in a separate proposal: #5692 |
Describe the project you are working on:
A rhythm game in Godot.
Describe the problem or limitation you are having in your project:
OpenGL software has stuttering issues in some NVIDIA Optimus setups, this is universal and the only solution is to either not use OpenGL or to render the OpenGL buffer offscreen and present it using DirectX or Vulkan and forcing v-sync to be on.
Vulkan is preferred, as that leads to the least amount of problems in my experience using ANGLE.
Describe the feature / enhancement and how it helps to overcome the problem or limitation:
An option that allows the game to render offscreen and be presented by Dx11 or Vulkan.
Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:
I suppose the best way would be to do this in the Windows OS code, possibly overriding something in the GL context code.
If this enhancement will not be used often, can it be worked around with a few lines of script?:
There is no solution.
Is there a reason why this should be core and not an add-on in the asset library?:
This is a fairly low level change that can't be done from an asset.
P.S:
It is obvious this change would only apply to 3.2 and the GLES2 renderer in 4.0.
The text was updated successfully, but these errors were encountered: