Closed Bug 843110 Opened 11 years ago Closed 8 years ago

"Harlem Shake" performance can be improved

Categories

(Core :: CSS Parsing and Computation, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: krystian4842, Unassigned)

References

()

Details

(Keywords: perf)

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0
Build ID: 20130212082553

Steps to reproduce:

Go to this address:
http://hsmaker.com/harlemshake.asp?url=http://bbc.co.uk



Expected results:

Improvements would be welcome - performance-wise and processor-wise (mine is at 50%).
SPS-Profile against Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20130224 Firefox/22.0 ID:20130224031053 CSet: 195e706140d1: 

http://people.mozilla.com/~bgirard/cleopatra/#report=46ad7671424b7903edf002ce7bdac010fd76a748

Selection - Most time spent in:

SelectorMatchesTree
SelectorMatchesTree
RuleHash::EnumerateAllRules(mozilla::dom::Element *,ElementDependentRuleProcessorData *,NodeMatchContext &)
EnumRulesMatching<ElementRuleProcessorData>
nsStyleSet::FileRules(bool (*)(nsIStyleRuleProcessor *,void *),RuleProcessorData *,mozilla::dom::Element *,nsRuleWalker *)
nsStyleSet::FileRules
nsStyleSet::ResolveStyleFor(mozilla::dom::Element *,nsStyleContext *,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ReResolveStyleContext(nsPresContext *,nsIFrame *,nsIContent *,nsStyleChangeList *,nsChangeHint,nsChangeHint,nsRestyleHint,mozilla::css::RestyleTracker &,nsFrameManager::DesiredA11yNotifications,nsTArray<nsIContent *> &,TreeMatchContext &)
nsFrameManager::ComputeStyleChangeFor(nsIFrame *,nsStyleChangeList *,nsChangeHint,mozilla::css::RestyleTracker &,bool)
CSS::ComputeStyleChangeFor
nsCSSFrameConstructor::RestyleElement(mozilla::dom::Element *,nsIFrame *,nsChangeHint,mozilla::css::RestyleTracker &,bool)
mozilla::css::RestyleTracker::DoProcessRestyles()
CSS::ProcessRestyles
Component: Untriaged → Style System (CSS)
Keywords: perf
Product: Firefox → Core
Version: 19 Branch → Trunk
This is mostly about doing off-mainthread animations on desktop, no?  At least as far as I can tell...
Animations are still choppy in trunk whereas it's smooth in the latest stable version of Chrome.
The link is not working anymore, so nothing else to test here. And OMTA landed a few months ago.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.