Blurhash placeholder
Now, instead of stubs and colored rectangles, we will finally use images generated from Blurhash.
We'll use the same approach with Intersection Observer, but only before loading the original image we'll quickly (relatively) generate a Base64 Blurhash placeholder and substitute it in the img tag.
And then the change of images for the user will be much smoother. And if you add a small animation effect when changing images, then... However, see for yourself.
The only problem with this approach is that the calculation of a large image requires relatively big resources. But it is possible to generate a small picture in the right proportions.