-
Notifications
You must be signed in to change notification settings - Fork 2
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
EPIC: xPRO performance improvements #2065
Comments
@arslanashraf7 and I worked on xPro's Performance issue today and identified these initial points that are needed for optimization: Requires Less Effort:
Requires More Effort
Need More Insights
Most of the changes will be done in base templates, which might be enhancing overall performance including catalog, product, and home pages. |
After spending more time on this issue @arslanashraf7 and I came to the conclusion that the maximum blocking time is taken by JS bundle downloads while ~50% of that JS is not even getting used. According to our findings, we are currently using django.js, header.js, third-party.js bundles, compressed via webpack. In the light of the above explanation, we propose the following two solutions for that:
@pdpinch @briangrossman any thoughts on these solutions? |
@HamzaIbnFarooq - This is great start. I agree that the JavaScript seems to be at the core of this issue. I don't have a personal opinion (or enough working knowledge, rather) to suggest which path to take for breaking up the JavaScript. I've reached out to @gsidebo, who will be helping support your efforts here. He'll weigh in with his thoughts as you work through these issues. Thanks! |
@HamzaIbnFarooq @arslanashraf7 I'm going to try to go through those specific suggestions point-by-point, but I have some scattered thoughts to consider in the meantime:
|
Thanks, @gsidebo for mentioning the detailed insights. Here are our thoughts on this:
We have already covered this step (#2073)
We have added image sizes partially (#2073) but it requires further in-depth work.
Strongly agreed.
Yes, you are right, it shows a huge potential for performance improvement.
Yes, these are necessary for the rendering of zendesk help button, we have already deferred (#2072), so it should not be a problem anymore.
For now, we have used HTML's cc: @arslanashraf7 |
@gsidebo @arslanashraf7 |
Wagtail-lazyimages looks pretty good but has two limitations to be addressed:
So we can use the plugin but, in my opinion, we need to create a new wrapper tag and override one of the plugin's method (wagtail_lazyimages.templatetags.lazyimages_tags.LazyImageNode.render) to support our scenarios. |
@HamzaIbnFarooq Yeah, I was expecting we would have to write a new templatetag to support this plugin. I don't know the implementation details but I'm not expecting it to be too difficult. Re: |
After reviewing where we're at, I think our highest priorities should be these items:
EDIT: One other thing we should do is move the contents of the |
@gsidebo I investigated around
And it seems we can almost replace Font-Awesome Icons:
Unused FA-Icons:
Icomoon Icons:
Unused Icomoon icons:
CC: @briangrossman You might also want to take a look on these details, Since we had an option in mind to replace |
@gsidebo I've created a PR #2086, That specifically addresses two points from your above comment #2065 (comment):
As for point#2 you were right, these were only used in
|
I mentioned this on the PR, but the wagtail lazy images PR carries some risk for us (comment), so for now I'm suggesting that we put it on hold. Delaying image load is still a priority for us, though. Images are responsible for a lot of the load time. We may just want to try implementing Observer-based lazy loading without that Wagtail plugin. Some other things we should look at now:
|
@gsidebo , As per your above comment #2065 (comment), I was able to completely remove Also i didn't need to replace SVGs, they weren't actually dependent on Font-Awesome which i mentioned earlier, So we are good there. As for setting the height of The PR for these changes is up at #2093 |
There's nothing from this epic that needs to be addressed in the near term. Closing. |
As a user, I am experiencing slow load times on the xPRO site. The slow load time may cause me to leave the site, before I can find anything I am looking for. It is particularly noticeable on mobile.
Designs and Mockups
To test, use the
Lighthouse
tab in Chrome's developer tools. The image below is a sample output for the homepage on mobileAcceptance Criteria:
This EPIC includes the following issues:
The text was updated successfully, but these errors were encountered: