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

OpenGL: Screen tearing on some Android devices #70031

Closed
Snowy-Fox opened this issue Dec 13, 2022 · 9 comments
Closed

OpenGL: Screen tearing on some Android devices #70031

Snowy-Fox opened this issue Dec 13, 2022 · 9 comments

Comments

@Snowy-Fox
Copy link

Snowy-Fox commented Dec 13, 2022

Godot version

4.0beta8 - 4.0RC2

System information

Android 9, OpenGL 3, PowerVR GE8300

Issue description

On certain Android devices, there is a persistent, obvious screen tearing issue. This tearing is unaffected by v-sync or scaling settings. The top third of the screen lags several frames behind the bottom two thirds.

At present, I've only observed the issue on a Retroid Pocket 2+ handheld (Android 9, PowerVR GE8300 GPU). I've also tested the same projects on a Huawei P10 Lite phone (Android 8, Mali-T830 GPU) but observed no issues there.

photo_2022-12-13_15-45-20_detail

android_test.mp4

I will also note that I had this issue with 3.x, as well. In that case, I observed the screen tearing on both the Pocket 2+ and the P10 Lite, and I eventually resolved it by switching the graphics driver from GLES3 to GLES2.

Steps to reproduce

  • Create any project with moving graphics using gl_compatibility renderer
  • Export Android APK with debug
  • Install and run on affected device

Note that the issue only affects certain Android devices, and may require testing on multiple devices in order to narrow down the cause.

Minimal reproduction project

Any project exported using OpenGL 3 will do, but here's the one I made to test it.
Android Test 4.0b8.zip

@Calinou Calinou changed the title Screen Tearing on Some Android Devices OpenGL: Screen tearing on some Android devices Dec 13, 2022
@Calinou Calinou added this to the 4.x milestone Dec 13, 2022
@Snowy-Fox
Copy link
Author

Snowy-Fox commented Dec 20, 2022

Just tested export from Godot 4.0beta9 - issue persists

EDIT 24.12.22 - 20.02.23
Same on 4.0beta10 to 4.0RC2

@Snowy-Fox
Copy link
Author

I just tested an export from Godot 4.0 RC 3, and as of this version, the screen tearing is no longer occurring on the Retroid Pocket 2+!

I re-tested on the Huawei P10 Lite, too, and the screen tearing is still no longer occurring on that, either.

This exhausts the Android devices I'm able to test on. Hopefully nobody else is still having the issue on their devices, either.

@akien-mga akien-mga modified the milestones: 4.x, 4.0 Feb 23, 2023
@aerze
Copy link

aerze commented Mar 15, 2023

I'm still having this exact issue with the Retroid Pocket 2+ on v4.0.stable.official [92bee43]
I tried downloading and installing the zipped project above and I'm getting the same results as the video above as well.
I'm really new to this so it could very likely be a configuration setting somewhere for the project/android export I'm missing.
Any notes/links/ideas would be great!
Last thing I'm checking tonight is to try to update the Retroid Pocket 2+ to it's latest OTA update.

@Snowy-Fox
Copy link
Author

I'm still having this exact issue with the Retroid Pocket 2+ on v4.0.stable.official [92bee43]

In Godot, which renderer are you using? For exporting for older Android devices, like the RP2+, you should be using Compatibility (gl_compatibility) for best results.

@aerze
Copy link

aerze commented Mar 25, 2023

Yeah I was using the Compatibility version, ironically I found that switching to Mobile somehow helped and isn't showing the glitching anymore 🤷‍♀️ . I'm ok with using that for now but I can also keep testing the other mode if needed.

@Snowy-Fox
Copy link
Author

Yeah I was using the Compatibility version, ironically I found that switching to Mobile somehow helped and isn't showing the glitching anymore 🤷‍♀️ . I'm ok with using that for now but I can also keep testing the other mode if needed.

How odd! I didn't think the Mobile renderer was compatible with the RP2+. I'll have to test it myself at some point.

@aerze
Copy link

aerze commented Mar 26, 2023

I checked online, and supposedly the GPU in the RP2+ should support vulkan 1 which I think is why it's working, but again I'm very new to this

@aerze
Copy link

aerze commented Mar 26, 2023

@DavidJayIndie
Copy link

There's still screen tearing on the RP2+ as of 4.2.2 rc2 unfortunately. I'd reopen a ticket about this, but I don't know if it's worth it for such a niche device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants