Huge scrolling performance drop when viewing tag cloud

RESOLVED FIXED in Firefox 18

Status

()

defect
RESOLVED FIXED
7 years ago
7 years ago

People

(Reporter: jdm, Assigned: mstange)

Tracking

({perf, regression})

Trunk
mozilla19
x86
macOS
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(firefox18+ fixed, firefox19 verified)

Details

()

Attachments

(1 attachment)

Reporter

Description

7 years ago
Scroll down the page in a nightly until the tag cloud on the right is visible. Notice the insane performance drop that occurs.
Reporter

Comment 1

7 years ago
While there is a really janky pause that occurs about halfway down the tag cloud in builds without DLBI, with DLBI the experience is much worse. We should try to achieve parity with the sub-optimal scrolling we currently provide :)
Reporter

Updated

7 years ago
Blocks: dlbi
Reporter

Updated

7 years ago
Keywords: regression
I can reproduce this in win7/d3d10, but not linux-x64/basic.
It's not a dup, because the fix for 770061 made it into the dlbi relanding.
No longer depends on: 770061

Comment 6

7 years ago
I'm not seeing anything with HWA disabled. (Using latest AMD driver for Radeon 7850, which seems to be blacklisted).
Looks like a whole lot of tiny elements with opacity, causing DLBI to generate a large number of layer managers for the inactive content.
I can no longer reproduce.  Suspected fixed by bug 778367.
Status: NEW → RESOLVED
Closed: 7 years ago
Depends on: 778367
Resolution: --- → WORKSFORME

Comment 9

7 years ago
All those small tags are invisible (but still clickable). This explains why the performance is better. I don't think this is intended and probably the bug is not solved either.
I don't think bug 778367 could have fixed this bug as reported by Josh on Mac, since we don't use Azure for page content on Mac.
Yeah, I only tested on win7/d3d10.

Reopening for mac.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
(In reply to kamulos from comment #9)
> All those small tags are invisible (but still clickable). This explains why
> the performance is better. I don't think this is intended and probably the
> bug is not solved either.

Yes, this is bad :-(.
Fwiw, the scrolling regression is back in the 10/4 nightly on win7/d3d10.
No longer depends on: 778367

Comment 15

7 years ago
Any testing or profiling needed to help fix this bug?

Comment 16

7 years ago
This is much improved but today's moz-central win32 nightly still "stutters" when scrolling the page this bug was filed for.
Assignee

Comment 17

7 years ago
This is slow because the opacity display items in the cloud are repainted on every paint, and because opacity painting on Mac is slow in general (bug 665293).
The constant repainting only starts for display items with a Y coordinate >= 2048px, and that's because these items always think their transform has changed because FuzzyEqual returns false for their matrix's Y translation component because a - 1e-4f == a for negative floats a <= -2048.0f.
Assignee: nobody → mstange
Status: REOPENED → ASSIGNED
Attachment #675039 - Flags: review?(roc)
Comment on attachment 675039 [details] [diff] [review]
fix fuzzyequal

Review of attachment 675039 [details] [diff] [review]:
-----------------------------------------------------------------

Genius!
Attachment #675039 - Flags: review?(roc) → review+
https://hg.mozilla.org/mozilla-central/rev/12503ddc353b
Status: ASSIGNED → RESOLVED
Closed: 7 years ago7 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
Comment on attachment 675039 [details] [diff] [review]
fix fuzzyequal

[Approval Request Comment]
Bug caused by (feature/regressing bug #): DLBI
User impact if declined: Slow rendering on large pages using effects like opacity
Testing completed (on m-c, etc.): none
Risk to taking this patch (and alternatives if risky): Very low risk, this is just a very small tweak.
String or UUID changes made by this patch: None.
Attachment #675039 - Flags: approval-mozilla-aurora?
Attachment #675039 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
I confirm the fix is verified on FF 19b3 on Mac OS 10.8
You need to log in before you can comment on or make changes to this bug.