Closed Bug 770524 Opened 12 years ago Closed 12 years ago

Huge scrolling performance drop when viewing tag cloud

Categories

(Core :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla19
Tracking Status
firefox18 + fixed
firefox19 --- verified

People

(Reporter: jdm, Assigned: mstange)

References

()

Details

(Keywords: perf, regression)

Attachments

(1 file)

Scroll down the page in a nightly until the tag cloud on the right is visible. Notice the insane performance drop that occurs.
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 :)
Blocks: dlbi
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
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: 12 years ago
Depends on: 778367
Resolution: --- → WORKSFORME
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
Any testing or profiling needed to help fix this bug?
This is much improved but today's moz-central win32 nightly still "stutters" when scrolling the page this bug was filed for.
Attached patch fix fuzzyequalSplinter Review
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: 12 years ago12 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.

Attachment

General

Created:
Updated:
Size: