debloper / piosk

One-shot set up Raspberry Pi in kiosk mode as a webpage shuffler, with a web interface for management.
Mozilla Public License 2.0
73 stars 5 forks source link

Chome Flag investigations for speed and success (Aditional chrome startup flags for complex pages or low power Pi Zero W) #25

Closed andiohn closed 3 months ago

andiohn commented 3 months ago

Taken directly from this issue, could be huge?

https://github.com/jareware/chilipie-kiosk/issues/197

andiohn commented 3 months ago

Other flags to investigate: https://github.com/jareware/chilipie-kiosk/issues/181

debloper commented 3 months ago

Added these following flags (patch landing soon):

  --fast \
  --fast-start \
  --enable-accelerated-video-decode \
  --enable-gpu-rasterization \
  --enable-oop-rasterization \
  --ignore-gpu-blocklist \
  --disable-smooth-scrolling \
  --disable-low-res-tiling \
  --enable-low-end-device-mode \
  --disable-composited-antialiasing \

It's hard to do thorough differential benchmarking to validate each flag's impact on performance, and it's even harder to choose the specific pages as sample to benchmark on. For example, time.is is super easy on resources (1-2% CPU usage on RPi4), whereas windy.com takes up over 50% of CPU on all 4 cores while active.

And even with that much of disparity I didn't see much of a difference on resource footprint (with htop) between the before and after the flags being applied. Also, some of the flags may even be deprecated, for example: --disable-features=OverscrollHistoryNavigation.

However, there's nothing misbehaving, so I'm leaving them in. Might be better to split them up (required vs optional) as part of config.json & configurable by the user through the dashboard.

andiohn commented 1 month ago

https://pimylifeup.com/raspberry-pi-kiosk/

This one has a lot more options too, some of them look good, like avoiding the errors etc.

debloper commented 1 month ago

Error suppression wouldn't be enabled by default, but user config to enable/disable certain startup flags can be implemented.