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

Re-rendering after scroll does not work on Epos 2 ( #392

Open
tolinobugreport opened this issue Nov 24, 2022 · 11 comments
Open

Re-rendering after scroll does not work on Epos 2 ( #392

tolinobugreport opened this issue Nov 24, 2022 · 11 comments

Comments

@tolinobugreport
Copy link

  • KOReader version: v2022.10
  • Device: Tolino Epos 2 on 15.3.0

Issue

When "continous scrolling" a PDF and stopping the scroll, the page is not re-rendered, leaving garbled text.

Steps to reproduce

Open a PDF file and do continous scrolling.

I used the PDF files downloaded from SpringerLink:
https://link.springer.com/book/10.1007/978-3-658-30271-9

@Frenzie Frenzie transferred this issue from koreader/koreader Nov 24, 2022
@Frenzie
Copy link
Member

Frenzie commented Nov 24, 2022

My guess is that either means the device has an issue with one of these waveform modes or it drops one of the calls.

https://github.com/koreader/android-luajit-launcher/blob/ee4cca8b81b4bd9cf3a299edb920d41cbfcd5a5a/app/src/main/java/org/koreader/launcher/device/epd/TolinoEPDController.kt

@tolinobugreport
Copy link
Author

tolinobugreport commented Nov 24, 2022

This does not happen always, but on some occasions every N-th scroll is garbled, on other occasions, only the N-th scroll is OK.
Opening a menu, thereby forcing a re-rendering after it is closed fixes the issue (workaround)

So, after stopping the scroll, the text would have to be forcefully re-rendered in the same way like opening a menu.

Update: The issue is also with EPUB files and continous scrolling.

@poire-z
Copy link
Contributor

poire-z commented Nov 24, 2022

You can also test with a small diagonal swipe, that does a full screen refresh, if it's enough to get the thing to display correctly (which may help pinpointing at which level is the issue).

@tolinobugreport
Copy link
Author

Photo:
photo_2022-11-24_13-12-48

Download video: https://workupload.com/file/KSRJss56CTS

@Frenzie
Copy link
Member

Frenzie commented Nov 24, 2022

@tolinobugreport

So, after stopping the scroll, the text would have to be forcefully re-rendered in the same way like opening a menu.

Yes, that is exactly what happens. ;-) What I was trying to convey is that the most likely explanation is that the device is buggy and drops the call. The bigger question is how easy it is to work around. @pazos will know better.

But as @poire-z said, there is still a little bit of debugging to do as well to pinpoint the exact cause.

@tolinobugreport
Copy link
Author

You can also test with a small diagonal swipe, that does a full screen refresh, if it's enough to get the thing to display correctly (which may help pinpointing at which level is the issue).

This fixes it - i.e. ungarbles the text in EPUB or "smoothens" it in PDFs. This shoudl happen automatically after stopping the scroll.

@Frenzie
Copy link
Member

Frenzie commented Nov 24, 2022

Then the device drops the call, even though otoh we do something like a 250 ms wait to prevent that kind of thing from happening on bad devices. (Perhaps Tolino isn't marked as a bad device.)

@pazos
Copy link
Member

pazos commented Nov 24, 2022

Then the device drops the call, even though otoh we do something like a 250 ms wait to prevent that kind of thing from happening on bad devices. (Perhaps Tolino isn't marked as a bad device.)

Delay is added on devices where we race the system. It is only applied to fullscreen updates. So we let the system to end the shitty update and perform a full update after it. It doesn't apply the tolino.

Yes, that is exactly what happens. ;-) What I was trying to convey is that the most likely explanation is that the device is buggy and drops the call. The bigger question is how easy it is to work around. @pazos will know better.

It should be workaround-able. But requires somebody with the device and a bit of knowledge to tinker with the TolinoEPDController

If the call that is droped is WaveformFull then add some delay and see what happens.
If the call that is droped is WaveformFullUi it could mean that EINK_WAVEFORM_MODE_GLR16 doesn't apply to that particular device and can be replaced with EINK_WAVEFORM_MODE_GC16

I won't attempt to solve it. Help wanted from tolino users.

@tolinobugreport
Copy link
Author

tolinobugreport commented Nov 24, 2022

It never happens so far when reading by page-turn, only when scrolling.
I could reproduce the issue also on the older Tolino Page 1:

photo_2022-11-24_15-23-16

@poire-z
Copy link
Contributor

poire-z commented Nov 24, 2022

There are different Scrolling option in Tap & gestures > Scrolling>. Most will need many screen refreshes to give the expected visual effect. "On release scrolling" will just issue a refresh at the end, so many less.
Again, you might want to check how it does - and use that in the meantime.

@tolinobugreport
Copy link
Author

tolinobugreport commented Dec 4, 2022

After upgrading to the latest 2022.11, it seems that the problem is almost gone... So far it happened in 1 out of maybe 30 scrolls. Corruption still happens during scrolling which is acceptable/expected, but then after stopping the scroll, the page refreshes correctly.

More testing is required tomorrow on the Tolino Page 1.

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

4 participants