Expand my Community achievements bar.

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.