Skip to content

[BUG]: Visual performance regression and screen flickering on v2.18.0+ #16456

@kelciour

Description

@kelciour

Checked for duplicates?

  • This issue is not a duplicate

Does it also happen in the desktop version?

  • This bug does not occur in the latest version of Anki

What are the steps to reproduce this bug?

I've attached the test deck that I used to record the video (renamed from .apkg to .zip to be able to upload it).
AnkiDroid Test Deck-20240522192810.zip

Expected behaviour

The same behaviour as in v2.17.6 with no screen flickering or maybe quick and rarely.

I recorded a video to show how it looked in v2.17.6.

  • English Grammar in Use Activities - no noticeable flashing

  • Great Works of Art - no flashing
    There's a quick visual image distortion on 38 sec, but it's not related to this issue as it's a result of resizeImages and max-width: 100%; being applied to the image after it was already shown, my phone is being too slow to do it during one animation frame. This is a framy-by-frame screenshot.
    ankidroid-resize-images-1

  • Ultimate Geography - no flashing, everything is smooth

ankidroid-flashing-2.17.6-good.mp4

Actual behaviour

The card with JavaScript is quite laggy and flickers a lot. The JavaScript code is simple and only does a few text replacements. Removing it helps but it's still flickering occasionally.

The card without JavaScript is much less affected but a very brief flickering still happens every 5-10 cards.

Here's the full video with a few short excerpts later on to illustrate the issue and save some time.

ankidroid-flashing-2.18-bad.mp4
  • English Grammar in Use Activities - a lot of flashing

gif-1

  • Great Works of Art - occasional white flashes (0.25x)

res-2

  • Ultimate Geography - quick flashing once a few cards
res-3.mp4

Debug info

AnkiDroid Version = 2.18.0 (464cf290cc77c3f2c562cb03b408b78a13be261b)

Backend Version = 0.1.38-anki24.04.1 (24.04.1 ccd9ca1a8309b80bcb50ddc5d99c7ce63440bce9)

Android Version = 10 (SDK 29)

ProductFlavor = play

Manufacturer = ITEL MOBILE LIMITED

Model = itel L6006

Hardware = sp9832e_1h10_go

Webview User Agent = Mozilla/5.0 (Linux; Android 10; itel L6006 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.179 Mobile Safari/537.36

ACRA UUID = 8ef7e8d4-3e36-4153-9cd0-86cbda525c35

FSRS Enabled = false

Crash Reports Enabled = true

(Optional) Anything else you want to share?

I'm used to occasional screen flashes on AnkiDroid as my phone is one of the cheapest ones and it could be slow to show a new card.

But someone recently reported it, I compared v2.18 with v2.17.6 and can confirm it.

I also tested the latest alpha release and it's the same.

My PC was able to run AnkiDroid from source and I used git bisect to find the exact commit. Maybe it'll help.

e55cae2 is the first bad commit

Thank you!

Research

  • I am reporting a bug specific to AnkiDroid (Android app)
  • I have checked the manual and the FAQ and could not find a solution to my issue
  • (Optional) I have confirmed the issue is not resolved in the latest alpha release (instructions)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions