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

Remove glitches when scrolling on old Android TV devices #37493

Merged
merged 1 commit into from
Dec 1, 2022

Conversation

DenisovAV
Copy link
Contributor

@DenisovAV DenisovAV commented Nov 10, 2022

This PR fixes the issues with glitches on old TV devices.

Glitches when scrolling on weak Android TV devices.

If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • I listed at least one issue that this PR fixes in the description above.
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See testing the engine for instructions on writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the CLA.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@flutter-dashboard flutter-dashboard bot changed the base branch from master to main November 10, 2022 10:48
@flutter-dashboard
Copy link

This pull request was opened against a branch other than main. Since Flutter pull requests should not normally be opened against branches other than main, I have changed the base to main. If this was intended, you may modify the base back to master. See the Release Process for information about how other branches get updated.

Reviewers: Use caution before merging pull requests to branches other than main, unless this is an intentional hotfix/cherrypick.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

1 similar comment
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@GaryQian
Copy link
Contributor

@DenisovAV Can you explain why we are opting android 10 devices into this workaround and how this fixes the problem? Thanks!

@DenisovAV
Copy link
Contributor Author

The root cause of the issue is a partial repaint, the implementation causes glitches on some old devices, and is switched off for devices older than Android 9. Actually, glitches are reproduced not only on devices older than Android 9 but also on some devices with Android 9 like MiStick and MiBox, they are low-performance devices but with Android 9(28 API) on board.
The proofs of this in the issue
So, the fix is switching off partial repaint for devices with Android 9.
I checked the fix locally, it works fine.

@chinmaygarde
Copy link
Member

This seems like a pretty blunt instrument to work around the issue. But we apparently already have this in place. If this feature is problematic, perhaps we need a more formal way of disallowing devices. cc @iskakaushik @knopp @reidbaker

I have no objections to landing this patch beyond the scattershot/arbitrary way in which the support levels are chosen.

@knopp
Copy link
Member

knopp commented Nov 17, 2022

Android 9 is pretty recent and it's quite surprising that these OpenGL extensions are not working properly. I'm wondering if there are any phones with Android 9 where this fails.

@DzmitrySlutskiy
Copy link

Any updates on that issue (when it is going to be merged), we also stuck with these artifacts on UI and can't release our app to store

@chinmaygarde
Copy link
Member

From Triage: This doesn't look like the ideal solution but we are getting a reports of a lot of folks affected by this. I think we should land this and file a followup to determine if we can be more precise in detecting cases where specific devices are failing. I believe the folks most familiar with this subsystem are already CC'ed to this thread.

@chinmaygarde chinmaygarde added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 1, 2022
@auto-submit auto-submit bot merged commit 1603fa1 into flutter:main Dec 1, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 1, 2022
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Dec 1, 2022
…116387)

* fa24f943a feat: add custom cursor interface on windows (flutter/engine#36143)

* 1603fa1bb Remove glitches when scrolling on old Android TV devices (flutter/engine#37493)
zanderso pushed a commit to zanderso/engine that referenced this pull request Dec 5, 2022
zanderso pushed a commit to zanderso/engine that referenced this pull request Dec 5, 2022
itsjustkevin pushed a commit that referenced this pull request Dec 5, 2022
…8074)

Co-authored-by: Aleksandr Denisov <denisov-alexandr@yandex.ru>
mit-mit pushed a commit to mit-mit/flutter that referenced this pull request Dec 6, 2022
…lutter#116387)

* fa24f943a feat: add custom cursor interface on windows (flutter/engine#36143)

* 1603fa1bb Remove glitches when scrolling on old Android TV devices (flutter/engine#37493)
shogohida pushed a commit to shogohida/flutter that referenced this pull request Dec 7, 2022
…lutter#116387)

* fa24f943a feat: add custom cursor interface on windows (flutter/engine#36143)

* 1603fa1bb Remove glitches when scrolling on old Android TV devices (flutter/engine#37493)
itsjustkevin pushed a commit that referenced this pull request Dec 8, 2022
…8075)

Co-authored-by: Aleksandr Denisov <denisov-alexandr@yandex.ru>
gspencergoog pushed a commit to gspencergoog/flutter that referenced this pull request Jan 19, 2023
…lutter#116387)

* fa24f943a feat: add custom cursor interface on windows (flutter/engine#36143)

* 1603fa1bb Remove glitches when scrolling on old Android TV devices (flutter/engine#37493)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App needs tests platform-android
Projects
None yet
6 participants