Image Performance

Jan 22 2014, 5:47am CST | by

Image Performance

By Lara Swanson

Images make up the majority of most sites’ page weight. Thanks to their size and the number of image requests made by an average site, optimizing images is arguably the easiest big win when it comes to improving your site’s page load time.

Let’s start by looking at the various image types available, and then work through the various options you have for optimizing them.

Image File Types

You have a range of file types to choose from when creating images for your site. When generating an image, ask yourself:

* How compressed can this image be?
* How many colors are needed?
* Do I need transparency?/>/>

When you need transparency in your image, PNG is your best choice. GIFs also support transparency, but they tend to be much heavier than PNGs. PNG-8 contains a maximum of 256 colors within the image, and generally result in a smaller file size. If you have a small number of colors in your image, PNG-8 will likely be your best option of all image file types, thanks to its small size. While Photoshop supports exporting PNG-8 with binary transparency, it also supports creating PNG-24 images with partial transparency as well as millions of colors. This naturally results in a larger file size.

Use JPEG for photos and other images with tons of colors. JPEGs do not support transparency. JPEG is a lossy compressed file format, unlike PNGs, which are lossless. While you can use PNGs for photos, they will often be five to ten times larger in file size than JPEGs because they are lossless. Since you're aiming for the smallest file size to decrease page load time, and web images typically have more than 256 colors, it's no surprise that the majority of the images analyzed by HTTP Archive are JPEGs.

Optimizing Image Request Size

If you use Photoshop, test out a few different qualities and file types in the Save for Web workflow. You’re aiming for a happy medium of acceptable quality and small file size. Most people find that for JPEGs, 80-90% quality works well, but it’s important to play with the file size and see what level of compression is noticeable. Look for artifacts, inaccurate contrast between elements, and blurry details and text.

After you’ve exported the image, run it through a tool like ImageOptim, which finds the best compression technique for a variety of file types. There’s also SmushIt, which is an online lossless image optimizer. These tools can save you a ton of additional file size by finding ways to reduce the image size without visibly reducing the quality of the image.

Optimizing the Number of Image Requests

In addition to decreasing your images’ file sizes, it’s also important to decrease the number of image requests on the page to improve page load time. One way to do this is to combine images into sprites. Your page weight might increase slightly because you’ll have one large image file and additional CSS to position the site elements, but it’s likely that combining images into a sprite will be a huge win for page speed.

Another way to decrease image requests is to replace them with CSS3 gradients. CSS3 gradients (aka visuals):

* Can handle transparency
* Can be overlaid on a background color
* Eliminate an image request
* Are super easy to re-edit/>/>/>

CSS3 can be a great, performant replacement for images. Don’t worry about the extra page weight from the vendor-prefixes in CSS3 syntax; if you arent’ already, you should be using GZIP on your site, which will take care of optimizing this code. Even though you will be loading more CSS, it’ll still be a faster-loading option than an image request.

You can do some pretty amazing things with CSS3 gradients because of the control over where colors begin and end. That being said, be careful how your CSS affects repaint times, as there can be a cost to using a lot of CSS3. A repaint is an expensive operation performance-wise and can make your page look sluggish. If you find that your user interface does become sluggish, especially upon scrolling, you may have a CSS3 or JavaScript repaint issue and will want to diagnose what’s causing it using tools from JankFree.org.

Optimizing images is likely the biggest win for performance on your site. As you take a look at the images on your site, ask yourself:/>/>

* Can I save any file size by choosing a different image format?
* Have all of my images been run through a lossless compression tool?
* Can any of my image requests be replaced with gradients or sprites?
* Is there any UI slugishness that could be due to repaint times?/>/>/>

In the next post, we’ll cover optimizations you can make to the HTML and CSS of your site such as creating design patterns that can be repurposed, identifying the best naming patterns for your elements, and caching assets correctly.

Additional Resources

This post originally appeared on O’Reilly Programming (“Image Performance“). It’s republished with permission.

Source: Forbes Business

 
 
 

<a href="/latest_stories/all/all/30" rel="author">Forbes</a>
Forbes is among the most trusted resources for the world's business and investment leaders, providing them the uncompromising commentary, concise analysis, relevant tools and real-time reporting they need to succeed at work, profit from investing and have fun with the rewards of winning.

 

blog comments powered by Disqus

Latest stories

Need for Speed Reboot is Coming This Fall
Need for Speed Reboot is Coming This Fall
EA will release a complete new Need for Speed this fall. The video game giant just released a teaser video and the first Need for Speed Gameplay video will be revealed in June.
 
 
Google Self-Driving Cars to Hit Public Roads this Summer
Google Self-Driving Cars to Hit Public Roads this Summer
Google announced today that Google Car prototype vehicles will leave the test track and hit the familiar roads of Mountain View.
 
 
Google Search Analytics Launched in Web Master Tools
Google Search Analytics Launched in Web Master Tools
Google officially announced the new Search Analytics feature in Webmaster tools.
 
 
T-Mobile Hits Verizon with new 'Never Settle Trial' Campaign
T-Mobile Hits Verizon with new 'Never Settle Trial' Campaign
In case customers don't feel satisfied, T-Mobile will pay for them to shift back to Verizon