Closed
Bug 1493353
Opened 6 years ago
Closed 6 years ago
Loading page full of emojis makes the throbber animation janky
Categories
(Core :: Graphics: WebRender, defect, P3)
Core
Graphics: WebRender
Tracking
()
VERIFIED
FIXED
mozilla66
People
(Reporter: mayankleoboy1, Assigned: mattwoodrow)
References
Details
(Keywords: regression)
Attachments
(3 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
Build ID: 20180921220134
Steps to reproduce:
enable WR
open https://bug1479196.bmoattachments.org/attachment.cgi?id=8995725
Actual results:
while the page loads, the page-loading-throbber janks
Expected results:
not so
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Summary: Loading page full of emojis makes the throbber janky → Loading page full of emojis makes the throbber animation janky
Updated•6 years ago
|
Updated•6 years ago
|
Priority: P2 → P3
Reporter | ||
Comment 2•6 years ago
|
||
http://bit.ly/2IqF4y2
I loaded the page twice. So the two regions of red janks in the profile relate to the the page being loaded twice.
Flags: needinfo?(mayankleoboy1) → needinfo?(jmuizelaar)
Reporter | ||
Comment 3•6 years ago
|
||
I noticed the previous profile had some restyle stuff. So i took a new profile with "Sequential Styling" added in the profiler. This limits Stylo to use only one thread. This should minimize any CPU starvation due to stylo:
http://bit.ly/2xIPi8Q
Reporter | ||
Comment 5•6 years ago
|
||
Flags: needinfo?(mayankleoboy1)
Reporter | ||
Comment 6•6 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #4)
> What hardware is this on?
mobile broadwell Corei3-5010U (2C/4T) + iGFX HD5500 +8GB RAM+SSD+ Win10x64
Reporter | ||
Comment 7•6 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #4)
> What hardware is this on?
Also forgot to mention, I upgraded windows to the October update, and the attachment of emojis doesnt render correctly for me anymore. All I get are boxes, and huge memory use. Chrome renders it OK.
Meant to file a bug, but forgot
Reporter | ||
Comment 8•6 years ago
|
||
(In reply to Mayank Bansal from comment #7)
> Also forgot to mention, I upgraded windows to the October update, and the
> attachment of emojis doesnt render correctly for me anymore. All I get are
> boxes, and huge memory use. Chrome renders it OK.
> Meant to file a bug, but forgot
filed bug 1499451
Comment 9•6 years ago
|
||
This ends up with ~800k primitives - I suspect that Gecko is breaking each glyph into a separate text run?
Additionally - WR thinks every one of those primitives is visible. One possible explanation of this is that Gecko may be supplying an oversized bounding rect for the glyphs?
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → matt.woodrow
Flags: needinfo?(jmuizelaar)
Reporter | ||
Comment 10•6 years ago
|
||
FWIW, this page has emojis that will actually display as emojis on screen, and not weird tofu boxes. This also janks the throbber, but the total page load time is much faster than I remember. So might be slightly difficult to repro.
Assignee | ||
Comment 11•6 years ago
|
||
I have a patch that brings the prim count down to just over 300.
The majority of the primitives were for the missing glyph characters, so I've added code to cull ones outside of the visible region from the display list.
There's still all the normal glyphs in a single text run, which causes the backend to take 40ms, but every other phase is basically instant, so we can scroll at ~20fps (and 3-4fps without the patch).
Display list/scene building time is way down, so it checkerboards much less.
We could probably do better by culling the actual glyphs to what is visible (either during DL building, or somewhere within WR), but I can't find performant gecko code to do it, and I don't think this blocks the MVP with the patch applied.
Assignee | ||
Comment 12•6 years ago
|
||
Comment 13•6 years ago
|
||
Pushed by mwoodrow@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d8a944c012a7
Clip TextDrawTarget to the visible rect, and avoid emitting display items that are outside the clipped area. r=jrmuizel
Comment 14•6 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox66:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Updated•6 years ago
|
status-firefox65:
--- → ?
Reporter | ||
Comment 15•6 years ago
|
||
Matt, which testcase did you take for this bug ?
https://bug1479196.bmoattachments.org/attachment.cgi?id=8995725 is AFAIK an ANSI coded emoji page, which shows as tofu boxes on my system. That page no longer causes high heap-unclassified memory use (bug 1511354) loads almost instantly(probably this bug), and scrolls horizontally pretty well.
Did you also test with https://bugzilla.mozilla.org/attachment.cgi?id=9030975 ? This is a UTF coded emoji page, which displays actual emojis in a big grid. That page still scrolls not so good ( bug 1479201). This is mostly an artificially terrible page, but scrolls pretty well with checkerboarding on non-WR.
Flags: needinfo?(matt.woodrow)
Assignee | ||
Comment 16•6 years ago
|
||
(In reply to Mayank Bansal from comment #15)
> Matt, which testcase did you take for this bug ?
>
> https://bug1479196.bmoattachments.org/attachment.cgi?id=8995725 is AFAIK an
> ANSI coded emoji page, which shows as tofu boxes on my system. That page no
> longer causes high heap-unclassified memory use (bug 1511354) loads almost
> instantly(probably this bug), and scrolls horizontally pretty well.
>
> Did you also test with
> https://bugzilla.mozilla.org/attachment.cgi?id=9030975 ? This is a UTF coded
> emoji page, which displays actual emojis in a big grid. That page still
> scrolls not so good ( bug 1479201). This is mostly an artificially terrible
> page, but scrolls pretty well with checkerboarding on non-WR.
I just tested the former, and the fixes were mainly to do with reducing work for glyphs that aren't actually on screen.
Flags: needinfo?(matt.woodrow)
Updated•6 years ago
|
Updated•6 years ago
|
Flags: qe-verify+
Whiteboard: [qa-triaged]
Updated•6 years ago
|
QA Whiteboard: [qa-triaged]
Whiteboard: [qa-triaged]
Comment 17•6 years ago
|
||
I reproduced this issue using Fx 64.0a1 (2018-09-21), on Windows 10 x64.
I can confirm this issue is fixed, I verified using Fx 66.0b13, on macOS 10.13, Windows 10 x64 and Ubuntu 16.04 LTS.
Updated•6 years ago
|
Keywords: regression
You need to log in
before you can comment on or make changes to this bug.
Description
•