Bug 199376

Summary: [GTK][WPE] View is locked to 60 FPS
Product: WebKit Reporter: grmat
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bugs-noreply, cgarcia, magomez, mcatanzaro, pnormand, quequotion, yalterz, zan
Priority: P2    
Version: Other   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
vsynctester screenshot epiphany
none
vsynctester screenshot firefox
none
vsynctester screenshot chromium none

Description grmat 2019-07-01 13:58:11 PDT
Created attachment 373256 [details]
vsynctester screenshot epiphany

GNOME Web 3.32.3 (WebKitGTK+ 2.24.2)

It seems that epiphany's output is locked to 60 FPS, which results in unpleasant behaviour e.g. for users that have 75 or 144 Hz screens. The picture is stuttering and performance is bad.

The 60 FPS lock can be observed on the following test pages with a non-60 Hz screen:

- https://testufo.com/photo
- https://www.vsynctester.com/ (this one even reports "CATASTROPHIC VSYNC FAILURE", though I haven't investigated how this test is implemented, e.g. what this means)
- https://www.shadertoy.com/view/3l23Rh (this one might be heavy on your GPU, make sure to scale down epiphany's window to get less load and allow the full refresh rate)

Firefox by default (without layers.acceleration.force-enabled) is also locked to 60 FPS, but even in this case performs clearly better than epiphany. Chromium is doing good. Screenshots are attached

Redirected from https://gitlab.gnome.org/GNOME/epiphany/issues/833
Comment 1 grmat 2019-07-01 13:58:40 PDT
Created attachment 373257 [details]
vsynctester screenshot firefox
Comment 2 grmat 2019-07-01 13:59:21 PDT
Created attachment 373258 [details]
vsynctester screenshot chromium
Comment 3 Carlos Garcia Campos 2019-07-18 02:42:46 PDT
The same happens in WPE with vsynctester
Comment 4 Zan Dobersek 2019-07-18 03:47:02 PDT
vsynctester is more of a test on performance of the panning animation. Cairo operations there are slow enough to drop the FPS rate.

https://www.displayhz.com/ is a lighter test for achievable refresh rate.

WPE's limit is the refresh rate established by the compositor or the embedding application. GTK's limit is I think a mix between the fallback timer (used in non-AC mode, hard-coded to 60 FPS) and what the toolkit can provide.
Comment 5 grmat 2019-07-18 09:25:49 PDT
displayhz.com also erroneously reports 60 Hz for a 144 Hz screen.

The embedding application (Epiphany) redirected me to WebkitGTK, as you can see in the initial description. Are you saying the issue lies within GTK itself? Correct me if I'm wrong but Firefox also uses GTK and isn't locked to 60 FPS.
Comment 6 Michael Catanzaro 2019-07-18 10:50:46 PDT
No, Epiphany is not a WPE embedder. Zan is saying that we have a timer hardcoded to 60fps.
Comment 7 Philippe Normand 2021-11-26 01:01:25 PST
*** Bug 204552 has been marked as a duplicate of this bug. ***