Skip to content
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

[Windows] Always use ANGLE in ARM builds. #86001

Merged
merged 1 commit into from
Dec 11, 2023

Conversation

bruvzg
Copy link
Member

@bruvzg bruvzg commented Dec 10, 2023

There's no native OpenGL drivers on Windows for ARM (only software compatibility layer), so ANGLE is a more viable option for compatibility renderer.

Fixes #85961

@Lenbot-QC
Copy link

nice work! as an WOA user, i have already made a minimal project on a Windows on ARM laptop, then test in using opengl3 ANGLE and opengl API 4.1, and then... here are the results.
PS: i use three GPUParticle2D controllers to run. Running in vsync=off, screen_res=(2560,1600,fullscreen), max_fps here sets 0 (the project what i upload sets 60.)

opengl API 4.1: (about 72±6 fps, max_usage=66%, having a opengl->d3d12 translation layer)
Screenshot 2023-12-11 032254

opengl3 ANGLE: (about 379±13 fps, sometimes more than 400 fps, max_usage=100%)
Screenshot 2023-12-11 031540

72 fps vs. 379 fps, oh my... that's an awesome enhancement!!
PS: i advise to turn off the vsync (might look unsmoothly when enabled) and set max fps as screen refresh rate (e.g. 59, 60, 144, etc.) when choose ANGLE, this test is just for fun.

of course, the more single CPU frequency, the "more" fps (vsync=off), so cpu within low base/turbo frequency is not friendly. then actually watching on the performance of GPU is also worthy. Mine is 3.0 GHz and finally goes about 2.8 GHz because of 100% GPU usage. (but that's still awesome!! thanks to this rendering method, WOA device can really create an amazing game in different genres as well.)

and of course i will only recommend on gpu graphic which needs translation layer, that's because...
eeeh... we can view these two pics (look at fps). here's running on a x86_64 laptop within ATI Radeon HD 7700M.

this is opengl3 ANGLE, the single CPU frequency goes maximum, the GPU-3D usage is less than 50%. con seems more than pro.
Screenshot 2023-12-11 004503

and this, is opengl API 4.1. (tears of joy)
Screenshot 2023-12-11 004655

so if have a gpu which has enough performance and needn't translation layer (more important), needn't to use ANGLE. :D

@bruvzg bruvzg marked this pull request as ready for review December 11, 2023 07:39
@bruvzg bruvzg requested a review from a team as a code owner December 11, 2023 07:39
Copy link
Member

@clayjohn clayjohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense!

@akien-mga akien-mga merged commit 4921144 into godotengine:master Dec 11, 2023
15 checks passed
@akien-mga
Copy link
Member

Thanks!

@akien-mga akien-mga added the cherrypick:4.2 Considered for cherry-picking into a future 4.2.x release label Dec 12, 2023
@akien-mga
Copy link
Member

Cherry-picked for 4.2.2.

@akien-mga akien-mga removed the cherrypick:4.2 Considered for cherry-picking into a future 4.2.x release label Mar 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Editor rendering issue on Windows on ARM device since 4.2
4 participants