Open Bug 1803498 Opened 3 years ago Updated 2 months ago

Roll20 playspace causes graphics card usage

Categories

(Core :: Graphics, defect, P3)

Firefox 107
defect

Tracking

()

UNCONFIRMED

People

(Reporter: rjhansen075, Unassigned)

References

(Blocks 1 open bug)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0

Steps to reproduce:

Load HWMonitor. Start a game on Roll20.

Tested in fresh profile, no extensions.

Actual results:

Graphics card leaves idle while tab is up. While tab is focused memory bandwidth increases to nearly full speed.

Graphics card is an Nvidia 3060 Ti. Idle is 210 Mhz. Card runs between 435 Mhz and 1300 Mhz while tab is focused. Memory speed idle is 405 Mhz. Focused tab memory runs at 5000 Mhz. Video idle is 555 Mhz. Focused tab video runs at 750-1100 Mhz.

Even when the tab is not in focus, card runs at non-idle speeds, though lower.

Expected results:

The card should revert to idle after the web page loads.

Chrome reverts card at idle when nothing is being moved on screen. Firefox is engaging the graphics card at all times.

Chrome will engage the graphics card when the map is being moved or scaled, or the page is being otherwise manipulated.

The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics
Product: Firefox → Core

Hi, thanks for filing this. Could you record a performance profile of the issue occuring?
To do this:

  • install the extension from https://profiler.firefox.com/
  • it will add "speedometer"-looking icon on the top right of the UI
  • click the arrow next to it to unfold a menu and set the profiler setting to "Graphics"
  • Click start recording when you are ready to record, then stop recording after a minute or so.
  • this will open a tab with the performance profile, which you can share via a menu in the top right.
Blocks: wr-perf
Flags: needinfo?(rjhansen075)

https://share.firefox.dev/3Vm8ulG

What I did:

I was already on the Roll20 Start Game page.

  1. I started a game. Clocks briefly surged to max, then reverted to normal operation.
  2. I dragged the map to the active area. This necessarily caused clocks to go up.
  3. I left Roll20 idle at that point. Tab in focus.
  4. I periodically switched tab focus to Google calendar. Clocks drop to idle as soon as I did that. I did this twice.
  5. I then switched back to the Roll20 map. Clocks elevate.

If you need a profile with screenshots, I am happy to do so with less personal sites.

Flags: needinfo?(rjhansen075)

I created a new game and was in the map design mode. This is the profile i captured:
gpu-canvas: https://share.firefox.dev/3FmXuip
d2d-canvas: https://share.firefox.dev/3EUqn3S

It looks like the game uses canvas for some of the stuff.

The profile shows that roll20 is constantly requesting animation frames, even in parts of the profile where presumably no interactions are happening.

The games appears to be using a mixture of 2d and webgl canvases. ClientWebGLContext really stands out in the profiles (ni? Kelsey for awareness).

Blocks: canvas-perf
No longer blocks: wr-perf
Flags: needinfo?(jgilbert)
Severity: -- → S3
Priority: -- → P3

There is an animation element on the Roll20 page I loaded. Though it is off the screen at the time. There are a couple of animated cloud squares to the right of the view window.

The issue occurs on a static page without animations as well. Do you want me to capture a performance log for that page?

I think the animations may be a red herring.

This is a capture with a completely static Roll20 page alternating with an NPR page that brings clocks back to static. It includes screenshots.

https://share.firefox.dev/3XUuplq

Clear a needinfo that is pending on an inactive user.

Inactive users most likely will not respond; if the missing information is essential and cannot be collected another way, the bug maybe should be closed as INCOMPLETE.

For more information, please visit BugBot documentation.

Flags: needinfo?(jgilbert)
You need to log in before you can comment on or make changes to this bug.