Open Bug 1753321 Opened 3 years ago Updated 3 years ago

Poor performance on lucidchart.com (with llvmpipe software rendering)

Categories

(Core :: Graphics: CanvasWebGL, defect, P3)

defect

Tracking

()

Performance Impact medium

People

(Reporter: alwu, Unassigned)

References

Details

Attachments

(2 files)

When using LucidChart on Firefox, its performance on Firefox is significantly worse than using it on Chrome. That includes the smoothness of drawing shapes, moving the viewport and the responseness of UI buttons.

Here is a profiled result.

Lots of time spent in WebGL

Component: DOM: Core & HTML → Canvas: WebGL
Whiteboard: [qf]

Can you attach about:support? It seems you're using the slow WebGL path (the one without EGL).

Flags: needinfo?(alwu)
Attached file about:support (deleted) —
Flags: needinfo?(alwu)
GPU #1
Active: Yes
Description: llvmpipe (LLVM 10.0.0, 256 bits)
Vendor ID: VMware, Inc.
Device ID: llvmpipe (LLVM 10.0.0, 256 bits)
Driver Vendor: mesa/llvmpipe
Driver Version: 20.0.8.0

Are you on a VM or something? You're using software rendering all the way through...

No, I'm using HP Z4 Workstation which was ordered from The Hub before.

Ah so it seems you have a second GPU (an Nvidia Quadro, right?) but we're not using it. This might be a configuration issue on your side (missing drivers?) or on our side. Out of curiosity, can you attach the information from chrome://gpu?

My guess is that you are missing drivers but icbw.

Flags: needinfo?(alwu)
Attached file chrome://gpu (deleted) —
Flags: needinfo?(alwu)

emilio, do you know how to interpret chrome://gpu output from comment 7?

I do see:

WebGL: Hardware accelerated
WebGL2: Hardware accelerated

...which I assume means alwu is getting the hardware-rendering path in Chrome. (not sure if there's any other interesting clues in there)

Flags: needinfo?(emilio)

Yeah so it seems you're missing drivers for your nvidia GPU. chrome://gpu has:

GPU0 VENDOR= 0x10de [Google Inc.], DEVICE=0x1cb3 [ANGLE (VMware, Inc., llvmpipe (LLVM 10.0.0, 256 bits), OpenGL 3.3 core)] ACTIVE

Which means they're also using llvmpipe (which is software rendering, IIRC). Maybe our software WebGL perf is worse than Chrome? But Alastor you should get some working drivers :)

Flags: needinfo?(emilio)
Summary: Poor performance on lucidchart.com → Poor performance on lucidchart.com (with llvmpipe software rendering)

The severity field is not set for this bug.
:jgilbert, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jgilbert)

Yeah it looks like we can see that you have that 0x1cb3 = NVIDIA Quadro P400, but that it's inactive for some reason. (Drivers?)

I also see you have a number of these:

(#0): CP+[GFX1-]: Failed to allocate a surface due to invalid size (DTD) Size(296,33544)
(#5369): CP+[GFX1-]: Failed to allocate a surface due to invalid size (DTD) Size(296,33120)
(#5370): CP+[GFX1-]: Failed to allocate a surface due to invalid size (DTD) Size(296,33120)

One of the outstanding Chrome vs Firefox differences in WebGL is behavior when someone asks for a too-large canvas. Chrome tends to just clamp to max texture size, and they tend to also have smaller max texture sizes than Firefox does.
If the canvas's drawingBufferWidth (and Height) end up different in the two browsers, that could cause a perf difference particularly for llvmpipe.

I can also see in your about:support IsWebglOutOfProcessEnabled: 0, so Chrome is getting concurrency from running webgl in a different process, while Firefox is in-process on your machine.
We're working on shipping webgl oop on Linux, so it's worth trying that: webgl.out-of-process: true

Flags: needinfo?(jgilbert) → needinfo?(alwu)
Severity: -- → S4
Priority: -- → P3

Kelsey, could this bug be marked as depending on the oop webgl?

Performance Impact: --- → P2
Flags: needinfo?(jgilbert)
Whiteboard: [qf]
Depends on: 1638466
Flags: needinfo?(jgilbert)

Yeah it looks like we can see that you have that 0x1cb3 = NVIDIA Quadro P400, but that it's inactive for some reason.

Yep I turned it off by purpose, because that driver caused my system crash frequently.

webgl.out-of-process: true

Oh it seems helpful! Now I can feel it's smoother. Thanks!

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

Attachment

General

Created:
Updated:
Size: