jQuery Lazy Loader does the opposite of preloading images – it delays loading images until they are visible in the browser. This claims to make sites feel “snappier”, and images elegantly fade in as the user scrolls down the page.
Mashable was known for using this technique (although I just checked and it appears they are no longer doing so).
Are there any realistic performance gains from using jQuery lazy loader, or does it just make the user perceive that the website is loading faster?
That depends entirely on what you mean by “performance” and how lazy loading is used.
If you are just using lazy loading to load the same images you would otherwise load, then the same amount of bits are flowing across the stream, but indeed the packaging and IO costs more so from a ‘server to client’ perspective, it actually costs in ‘performance’. It will do that to benefit the user who may indeed start consuming a portion of the content sooner than otherwise and so the user perception is improved, and that too is an element of “performance”.
If you are using lazy loading to discriminate what data or images are being downloaded so that you can only bring that which the consumer wants, then you are getting real performance bonuses all around for not streaming undesired content.
How much of an “improvement”? Is it “worth it”? Well that is very subjective and your mileage may vary.