Hi all, I recently started using OpenBSD as a desktop and noticed
Firefox does not run smooth. It also appears Chromium is the same.
Some testing indicates that the browser itself and WebGL does not run
faster than 40-50 FPS, despite the hardware being more than capable.

After much research I learned that FPS is controlled by Firefox config
"layout.frame_rate". This is by default -1 (match to monitor rate).
Changing the value to 0 results in 300+ FPS and a smooth experience,
but at the cost of many wasted CPU cycles.
layout.frame_rate uses a software clock to control the FPS, but due to
the 100 Hz hardclock on OpenBSD, it cannot fire often enough to render
graphics more than 40-50 FPS.

I confirmed my findings and remedied them by compiling a kernel with
HZ=200 and was able to instantly achieve 60 FPS with no side effects.

For testing, I used WebGL aquarium:
https://webglsamples.org/aquarium/aquarium.html

So my questions for the mailing list are:
 - Are there any problems with running at 200 Hz instead of 100 Hz?
 - Can a kernel be instructed to run at n Hz without recompiling?
 - Is it possible to achieve 60 FPS in browser with the 100 Hz kernel?
 - if not, does this mean web browsing is broken on a default install?

Many thanks.

Reply via email to