Created attachment 465074[details]
sysprof capture
When logged into trello.com (with my Google account for auth), on any internal page (ex: the dashboard of your boards, or an individual board), Epiphany (whether version 43.x or nightly) eats the CPU, which is particularly apparent on older hardware like a ThinkPad X220 with Intel Sandybridge graphics (in that case it eats 15-40% of the CPU, and since it keeps waking it up, that means it stays hot and the fan is audible as long as the page is open in Epiphany).
This happens in both normal browser mode and web app mode. Since it makes my CPU burn, it pretty much makes the app mode useless as I can't keep this companion web app running on the side.
It doesn't seem to occur when only visiting the trello.com homepage when not logged in (via a private browser window for example).
Attached is a sysprof capture with the nightly flatpak version on Fedora 37.
Created attachment 466253[details]
sysprof capture with Epiphany 44 on Wayland with Intel Kabylake graphics
Here's an addition sysprof capture made under Wayland (I presume my previous one was made under Xorg) with the latest stable versions, and a few more debuginfo packages installed. On this much more modern laptop, it still uses ~30% CPU (according to top) while idling in front of the logged in Trello boards dashboard. The difference here is that the chipset is so power-efficient that you don't necessarily notice, until you look at CPU usage.
Created attachment 466895[details]
web inspector "timelines" profiling recording
Here is a web inspector "timelines" record of what's going on to cause 30% CPU usage (~13-15% by the WebKitWebProcess, then causing 20-25% CPU usage by GNOME Shell) on GNOME 44 with Wayland.
Some more data points I forgot to mention:
* Neither Firefox nor Chromium are affected in the same way, they keep the CPU usage low as far as I can see (like maybe 4-7% for the browser, nothing out of the ordinary when idle, and the GNOME Shell process can retain its low/near-zero CPU usage then)
* When this issue happens, it does not "just" affect Epiphany, it slows down the rest of the desktop experience too. So if I want a fluid Wayland GNOME Shell I need to not keep Epiphany opened on that website.
* This does not happen if the window is minimized/hidden (Super+H with GNOME Shell)
Apparently the constant requestAnimationFrame events are making it redraw and submit buffers for gnome-shell to recomposite constantly, even though it doesn't seem to have any actual layout or paint requests?
Created attachment 468645[details]
sysprof capture with Epiphany 45 on Wayland with Intel Kabylake graphics
This capture, made with Sysprof 45 launching the web app directly, probably provides much better data than the previous ones.
> Apparently the constant requestAnimationFrame events are making it redraw and submit buffers for gnome-shell to recomposite constantly, even though it doesn't seem to have any actual layout or paint requests?
Here's a simple reproduction of constant painting and compositing happening with RAF:
<script>
function cb() {
requestAnimationFrame(cb);
}
cb();
</script>
Would be interested to know how this behaves on different ports of WebKit, e.g. Safari.
2023-02-19 10:56 PST, Jeff Fortin
2023-02-19 11:00 PST, Jeff Fortin
2023-05-06 18:41 PDT, Jeff Fortin
2023-05-06 18:41 PDT, Jeff Fortin
2023-07-01 12:12 PDT, Jeff Fortin
2023-07-01 12:15 PDT, Jeff Fortin
2023-11-17 11:03 PST, Jeff Fortin
2023-11-17 11:06 PST, Jeff Fortin
2023-11-17 11:06 PST, Jeff Fortin
2023-11-17 11:07 PST, Jeff Fortin
2023-11-17 11:07 PST, Jeff Fortin
2023-11-17 11:07 PST, Jeff Fortin
2023-11-17 11:07 PST, Jeff Fortin
2023-11-17 11:07 PST, Jeff Fortin