-
Notifications
You must be signed in to change notification settings - Fork 1.4k
perf(qwikloader): put qwikloader in a separate bundle #7613
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
base: main
Are you sure you want to change the base?
Conversation
|
commit: |
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
66ccc12
to
f0c1116
Compare
this doesn't impact LCP and reduces download size, and allows earlier execution
f0c1116
to
4163cce
Compare
would be interesting to see if 103 Early Hints would help, but Safari doesn't implement preload so that's a huge chunk of the mobile userbase for which it won't work. |
We were embedding the qwikloader, which is faster for initial load, but recent experiments with modulepreload show that this isn't necessary.
By putting the qwikloader in its own bundle and using modulepreload + async module script:
This doesn't seem to impact LCP at all.
In the pathological 3G simulation with the fixed 2s lag, the chunk is fetched first, while the html is still downloading, and finishes pretty soon after html finished downloading and while the other resources are also downloading, so the user doesn't really notice anything.
compared to before:

(the other two yellow preloads you see are the preloader bundle and the qwik core bundle)
PS it would be really cute to find a string to embed in the preloader that would make the current
uD3ipkCl
hash start withql_
. Anybody with a lot of compute time to burn? :)