Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance improvements for nsIFrame #442

Closed
classilla opened this issue Oct 17, 2017 · 6 comments
Closed

Performance improvements for nsIFrame #442

classilla opened this issue Oct 17, 2017 · 6 comments

Comments

@classilla
Copy link
Owner

nsIFrame and descendants can slow down layout substantially by requiring some unnecessary work. Not all of the subsequent improvements have been identified in the QF summaries.

M1381157 looks like it generally applies: https://hg.mozilla.org/mozilla-central/rev/97a042be82e5

Following that, we do still have some NS_FRAME_* bits left, so we could do that for M1205475 which includes both the frame bit caching (but we use NS_FRAME_... instead of EffectSet) and reorganizes some of the hot functions M1381157 speeds up.

@classilla
Copy link
Owner Author

@classilla
Copy link
Owner Author

(and then don't regress http://kwan.perix.co.uk/mozilla/blinkTest.html , from bug 1406211)

classilla added a commit that referenced this issue Oct 18, 2017
@classilla
Copy link
Owner Author

This is only peripherally related, but there are some caching optimizations we're missing out on.

https://bugzilla.mozilla.org/show_bug.cgi?id=1344398 looks like it applies.
The 1 << 26 bit comes from https://bugzilla.mozilla.org/show_bug.cgi?id=1227327 which involves a DLBI change that was backed out of 45, so we shouldn't take it here right now.

@classilla
Copy link
Owner Author

@classilla
Copy link
Owner Author

classilla commented Dec 3, 2017

1205475 requires some major surgery I'm not comfortable with in nsIFrame and the nsLayoutUtils acceleration is called very infrequently. Wontfix.

classilla added a commit that referenced this issue Dec 4, 2017
@classilla
Copy link
Owner Author

classilla commented Dec 6, 2017

1344398 craps out and makes the browser hang on startup. It's too much of an edge case to make smoking it out worth it. Nothing else to do here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant