Open Bug 1963593 Opened 1 year ago Updated 2 months ago

earth.google.com - Uses 100% of CPU when using NVDIA GPU

Categories

(Web Compatibility :: Site Reports, defect, P3)

Desktop
Linux

Tracking

(Webcompat Priority:P3, Webcompat Score:3)

Webcompat Priority P3
Webcompat Score 3

People

(Reporter: rbucata, Unassigned)

References

()

Details

(Keywords: webcompat:needs-diagnosis, webcompat:site-report, Whiteboard: [webcompat-source:web-bugs])

User Story

platform:linux
impact:site-broken
configuration:common
affects:all
branch:release
diagnosis-team:graphics
user-impact-score:25

Attachments

(1 file)

Environment:
Operating system: Arch Linux
Firefox version:

Preconditions:
NVIDIA GPU used

Steps to reproduce:

  1. Navigate to: https://earth.google.com/
  2. Browse and observe

Expected Behavior:
No performance issue

Actual Behavior:
100% CPU usage

Notes:

  • Reproduces regardless of the status of ETP
  • Reproduces in firefox-nightly, and firefox-release
  • Does not reproduce in chrome

Created from https://github.com/webcompat/web-bugs/issues/150531

I do not own an NVIDIA Graphic card, but I have moved the issue based on the user comments and the fact that is a top site.

Severity: -- → S4
User Story: (updated)
Webcompat Priority: --- → P3
Webcompat Score: --- → 4
Priority: -- → P3
Webcompat Score: 4 → 3
Attached file about:support

I also have this issue. My computer basically freezes if I open Google Earth using Firefox. Contents of about:support attached in above comment.

Profiler capture of the issue in a clean profile with default settings and no extensions.

https://share.firefox.dev/45LRoVL

Flags: needinfo?(ahale)

I really have no idea how to go about debugging this, unfortunately.

Blocks: gfx-triage
Flags: needinfo?(ahale)

(In reply to [:nickname]Atmospheric Ignition from comment #5)

Profiler capture of the issue in a clean profile with default settings and no extensions.

https://share.firefox.dev/45LRoVL

Erik, this profile shows almost all of the time is in the driver itself. Can you give us some insights into what we could be doing to improve the usage of the driver?

Flags: needinfo?(ekurzinger)

(In reply to Brad Werth [:bradwerth] from comment #7)

(In reply to [:nickname]Atmospheric Ignition from comment #5)

Profiler capture of the issue in a clean profile with default settings and no extensions.

https://share.firefox.dev/45LRoVL

Erik, this profile shows almost all of the time is in the driver itself. Can you give us some insights into what we could be doing to improve the usage of the driver?

I left NVIDIA last year so I don't have access to the driver code any more. You might be able to get someone's attention by posting on their forum https://forums.developer.nvidia.com/c/gpu-graphics/linux/148

Flags: needinfo?(ekurzinger)

From the profile in comment 5 it looks like most samples landed in glCopyTexSubImage2D.
I'm not sure what from the call-stack can be trusted beyond that point, but at least it seems glCopyTexSubImage2D winds up making lots of calls to __clock_gettime_2, probably busy-waiting.

In other words, glCopyTexSubImage2D is probably forced to wait on the GPU for some reason -- doesn't necessarily imply glCopyTexSubImage2D is doing anything inappropriate, itself.

Does this map back to a single/a few copyTexImage* calls in the WebGL code?

Did you raise this with the Google Earth team yet?
I think a JavaScript profile from Google Earth may be interesting. Do any particular copyTexImage* calls stand out there?

Thanks for the analysis.

It's hard to guess why it would be taking a long time in glCopyTexSubImage2D, I wouldn't expect Google Earth to be copying a lot of pixels from an FBO to a texture, I can only speculate that there must be some very large rendering going on and then copying to texture, as I can't imagine it taking a long time otherwise unless the video card is running on an extremely slow PCI-E bus (eGPU?) and copying across GPUs perhaps, but that is purely speculation.

We probably need to understand the WebGL access pattern in Google Earth a bit better.

No longer blocks: gfx-triage

Using the alternative "Mobile user interface mode" in Google Earth fixes the performance issues, as demonstrated here:
https://www.reddit.com/r/firefox/comments/1qd4z3e/if_google_earth_is_unusable_for_you_heres_a_quick/

Could this be set as a workaround until the issue is fixed?

Very good find, thank you. That will at least let us compare what WebGL calls are being made vs the two modes.

I've recently started noticing this issue also happening in Chromium-based browsers which didn't use to have this issue about a month or two ago.

User Story: (updated)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: