Expand my Community achievements bar.

Join us in celebrating the outstanding achievement of our AEM Community Member of the Year!
SOLVED

(AEM 5.6.0) Teaser Performance Problems on webpage scroll

Avatar

Level 2

I've been building a CQ page with a few teasers on it and I noticed that there seems to be a dramatic and noticeable slowdown whenever I scroll the page. I then tried it out on Geometrixx and I'm seeing the same thing. Chrome's javascript profiler revealed that scrolling around the page used up to 17% of my CPU is being used to process "CQ_Analytics.SegmentMgr.resolve", which appears to be triggering whenever a teaser is scrolled into view.

This is really heinous, and it is happening on the Geometrixx site so I don't believe it's something I've done. Has anybody figured out how to fix this or optimize around it?

I've restarted Chrome since I suspected there might be a leak that was consuming resources. It did not seem to matter, and on Firefox the problems are even more severe, essentially hanging the webpage for a few seconds as you scroll. Again, it comes to the same calls to CQ_Analytics.SegmentMgr.resolve().

I'm seeing all this in preview mode on AEM 5.6.0.

1 Accepted Solution

Avatar

Correct answer by
Level 2

It looks like we just unbound all "mousemove" events from the $CQ copy of jQuery.

View solution in original post

5 Replies

Avatar

Level 2

This sounds like something we saw in v5.4. There's JS in the segmentation framework that tracks your mouse position for segmentation purposes. I can't remember for sure, but I think we ended up using our own JS to remove the event listener for mouse move that CQ had created.

Avatar

Level 10

I have never come across this. Can you file daycare with details

Avatar

Level 2

That sounds like what might be happening! Can you think of a good way to find these listeners so I can remove them? I'm not sure how I'd do that.

Avatar

Level 2

Sham HC wrote...

I have never come across this. Can you file daycare with details

 

You can just look at the Geometrixx site to see it happening.

Avatar

Correct answer by
Level 2

It looks like we just unbound all "mousemove" events from the $CQ copy of jQuery.