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

Animation toggle / disable #31

Closed
dredmorbius opened this issue Jul 10, 2021 · 5 comments
Closed

Animation toggle / disable #31

dredmorbius opened this issue Jul 10, 2021 · 5 comments

Comments

@dredmorbius
Copy link

On eink devices set to high-quality display (e.g., "Regal" on a Mobius display), any animation causes extensive and distracting display flickering.

An option to disable image animation would be appreciated.

There are several possible implementations, I'm not sure which would be best and/or easiest but:

  • An app specification to disable all animated GIFs, SVGs, and other formats (e.g., webp, webm, MP4, OGG).
  • An option to select an animating element and toggle (enable/disable) animation for that element.
  • An option to toggle animation behaviour for a specific page whist it is displayed.

An example of this is the following Bloomberg article: https://www.bloomberg.com/features/2021-infrastructure-across-america/

The image labled "The Washington Union Station Expansion Project", partway through the article, animates and flashes distractingly when viewed via EInkBro on an Onyx BOOX device at "Regal" display quality. Reducing display quality makes the animation less distracting, though it reduces text quality and increases ghosting.

@MarjaE2
Copy link

MarjaE2 commented Jul 11, 2021

Maybe options to:

  • Stop animation of gifs and pngs.
  • Stop autoplay of other elements, but that seems to be harder.
  • Reduce the frame rate to 1 frame/second or less.

@dredmorbius
Copy link
Author

Stopping animated gifs would be a 75--90% solution and for a first pass a strong positive.

Way back in the old days there was a binary hack of the Netscape browser which would fail the loop-check logic in the browser, so that GIFs would animate once only. That was frequently useful, though it's limiting.

I frequently apply CSS styling to my browser(s) (userContent.css or a CSS manager such as Stylish) which renders GIFs transparent unless the pointer hovers over them, with fade-in/fade-out timers and settings. That's OK for desktop where you've got a mouse, less so for touch-based devices.

A toolbar button to toggle GIF animation on/off seems like a pretty good option. I'm not sure what the icon might be, but something indicating motion, movies, maybe a walk/halt symbol?

If I had to prioritise other elements, embedded video and webm would probably be my #2 & #3 targets. SVG animation seems to be relativley little-used as of yet.

@dredmorbius
Copy link
Author

  • Reduce the frame rate to 1 frame/second or less.

I really don't think that would work out well.

EInkBro's strength is that it makes viewing a webpage at high e-ink quality quite viable. But that entails a full-screen refresh every so many re-paints, defaulting to ~10--20. That means a full-screen flash every 10-20s, which is jarring.

@MarjaE2
Copy link

MarjaE2 commented Jul 11, 2021

I am sensitive to flashing and to visual motion.

On a conventional monitor, at about 60 fps, blinking cursors, animated gifs, animated pngs, smooth scrolling, zooming, marquee, text scrolling in front of non-scrolling backgrounds, text scrolling alongside non-scrolling sidebars, etc. all make me sick. I have migraines, vomiting, falls, and possible seizures in the middle range. But on the same monitor, at 1 fps, I have much less trouble.

On an e-ink monitor, I couldn't set up Firefox due to the rapid flashing animation, but I hardly ever have trouble with slow flashing refreshes.

So I think 1 fps would be a useful option to cut through a lot of flashing, animation, and standard web design.

@plateaukao
Copy link
Owner

no way to modify the animation part in web content. so close it for now. please provide pull request if anyone find out how to implement the feature.

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

No branches or pull requests

3 participants