I have a site running on digital ocean : https://studiosnow-gjxrv.ondigitalocean.app/ and the github code is : https://github.com/Omkarc284/SNsite1 It works better in development but in production its problematic!
As you can see i have heavy images but my client cant compromise on quality and we have used meta human renders so using 3d is also difficult hence I’m using image sequence here… I’m not a pro at UI but is there anyway i Can optimize the performance or the site?
I tried adding a loading screen but thats just a gif which runs for 10 secs and then the opacity becomes 0 … I want it to load proper and if not fast atleast a proper waiting time mechanism for the user to give the site a good feel
2
Answers
Optimizing large images for the web without losing quality is essential for improving website performance and user experience. Here are some steps you can follow to achieve this:
Choose the Right Image Format:
Resize Images to the Correct Dimensions:
Use Compression Tools:
Enable Browser Caching:
Use Image Compression Formats:
Optimize for Retina Displays:
srcset
attribute in HTML to serve the appropriate image based on the user’s device.Lazy Loading:
Consider Using Content Delivery Networks (CDNs):
Optimize Image Metadata:
Test and Monitor:
Remember that the level of optimization you can achieve without noticeable quality loss may vary depending on the specific image and its intended use. Always strike a balance between image quality and file size to ensure a fast and visually appealing web experience.
I see that you already implemented webp images with much smaller size than before. This is a step in the right direction in your case since you have over 300 images over JS. However, you are loading images with the same size for any device. You can optimize performance with a responsive image optimization plugin. It will dynamically deliver the right image size for the different devices and screen resolutions.
In addition, some more things which you can improve. You can use blurhash to load the first screen even faster and then some nice spinner until 30 images are loaded to be able to start scrolling. Also, you can improve the cache policy. I see that it’s set to “10s” at the moment. You can use more efficient policy, see some explanation here: https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl/