Open
Bug 1493218
Opened 7 years ago
Updated 3 years ago
GitHub PDF render is about 6x slower in Firefox compared to Chrome or Edge
Categories
(Core :: Graphics, defect, P3)
Tracking
()
NEW
| Performance Impact | low |
People
(Reporter: cpeterson, Unassigned)
References
()
Details
(Keywords: perf, Whiteboard: [gfx-noted])
GitHub uses PDF.js to render PDF files, but it is much slower in Firefox than Chrome and Edge.
STR:
1. Load https://github.com/isocpp/CppCoreGuidelines/blob/master/docs/Lifetime.pdf
EXPECTED RESULT:
On my Windows 10 laptop, Chrome renders the PDF in about 4 seconds. Edge renders it in about 6 seconds.
ACTUAL RESULT:
Firefox 62 and 64 Nightly render it in about 27 seconds.
Here is a Gecko profile of 64 Nightly. It looks like most of the time is spent in D2D.
https://perfht.ml/2QQaim7
Comment 1•7 years ago
|
||
Bas, looking at the profile, it seems we're spending lots of time inside DrawTargetD2D, mostly in D2D both from flushing inside FillGlyphs, and because it's seemingly creating a lot of expensive layers too inside PushClip (which is getting called from the JS). Ideas?
Flags: needinfo?(bas)
Keywords: perf
OS: Unspecified → Windows 10
Priority: -- → P3
Whiteboard: [qf] → [qf] [gfx-noted]
Comment 2•7 years ago
|
||
FWIW: on Linux Nightly, it renders in about 3 seconds.
Updated•7 years ago
|
Whiteboard: [qf] [gfx-noted] → [qf:p3:f67][gfx-noted]
| Reporter | ||
Comment 3•7 years ago
|
||
This does seem to be a Windows-specific problem. On my Mac, the PDF renders in less than two seconds.
I forgot to mention in the STR:
2. Scroll to the bottom of the PDF and wait for the last page (45) to finish rendering.
Updated•7 years ago
|
Whiteboard: [qf:p3:f67][gfx-noted] → [qf:p3][gfx-noted]
Comment 4•4 years ago
|
||
This seems to still render much more slowly to me on Firefox vs Chrome with WebRender.
Flags: needinfo?(bas)
Updated•3 years ago
|
Performance Impact: --- → P3
Whiteboard: [qf:p3][gfx-noted] → [gfx-noted]
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•