SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
图片背后的秘密
   — — We b 图 片 优 化


   新浪微博 @Bencalie
Web Image Optimization



                    主要内容
     I.   微博上的图片

     II. 当浏览器遇上<img />

     III. 优化的关键点

     IV. 常见Web 图片格式 (※)

     V. 如何优化 (※)

     VI. 优化工具
Web Image Optimization




               I. 微博上的图片
Web Image Optimization


                             HTTP Request
         weibo.com                  65                   9
   weibo.com/home                             101                            21
    open.weibo.com           24     9
        sina.com.cn            35                            88
      facebook.com        10 3
        twitter.com       10 4
             qq.com                     70                        34
        taobao.com            30              43
      google.com.hk       6 10
          baidu.com       6 7
                      0        20        40         60       80        100        120   140
                                        images      other


                                                 2012.4.30 Results from Fiddler web debugger
Web Image Optimization




                         可优化14.2K,占28%
Web Image Optimization




                         可优化21.3K,占32%
Web Image Optimization




                         可优化50.5K,占36%
Web Image Optimization



                    掐指一算
     • 1Kb * 10万PV = 97.65Mb

     • 1Kb * 5亿PV = 488382.25Mb = 476.84 Gb

     • 如果是 30Kb?
Web Image Optimization




      是时候给这些图片减减肥了
Web Image Optimization




        II. 当浏览器遇上<img>
Web Image Optimization



     嵌入图片的形式

     • <img src=""       />

     • style="background-image:url()"

     • <input type="image" src="" />
Web Image Optimization




     • 浏览器解析 HTML <img>
     • 向图片服务器发起http(s)请求
     • 浏览器接收图片,进行渲染
Web Image Optimization

   <img src="example.jpg"
        width="413" height="280" border="1"
        title="Follower with eight colors"
        alt="Follower" />
        width    height   title   alt   border
Web Image Optimization



              III. 优化的关键点
     • HTTP 请求

     • 文件尺寸

     • 图片渲染

     • 体验增强

     • 搜索引擎优化(SEO)
Web Image Optimization



           如何发现可优化的点
     • Yahoo YSLOW

     • Google PageSpeed

     • http://www.webpagetest.org/
Web Image Optimization




          IV. 常见Web图片格式
Web Image Optimization



                矢量图与位图
Web Image Optimization



                     透明度
Web Image Optimization



           有损压缩与无损压缩
     • 有损压缩如同缩略一本书,无法还原原书

     • 每次保存都是有损的

     • 无损压缩像是zip打包文件
Web Image Optimization


             图片的最小单元是像素
Web Image Optimization




    Red,Green,Blue,Alpha
   Max colors:256*256*256=16777216
Web Image Optimization




                           GIF
                           PNG8


                     索引色
Web Image Optimization




            微博Logo的颜色表
Web Image Optimization

           • 索引色

           • 无损压缩

           • 支持全透明

           • 动画

           • 专利算法 LZW
Web Image Optimization

           • RGB

           • 有损压缩

           • 通过压缩率来改变文件质量

           • 扩展名 .jpg/.jpeg
Web Image Optimization

           • PNG8 / PNG24

           • RGB

           • 无损压缩

           • 支持alpha透明(色彩丰富且半透图片的选择)
Web Image Optimization


     • WEBP       https://developers.google.com/speed/webp/?hl=zh-CN

        – 有损压缩,派生自图像编码格式VP8
        – 质量相同的情况下,WebP体积比JPEG小40%


     • SVG(Scalable Vector Graphics)
Web Image Optimization


  图片格式       色彩数目    图像模式   压缩形式   动画   备注
  GIF         256     索引     无损    是    支持透明,交错显示及动画
                                        颜色简单的标识、大面积同
                                        样色块
  JPEG       1670万    RGB    有损    否    ISO第一套静态图像压缩标
                                        准
  JPEG2000   1670万    RGB   有损,但   否    提高了压缩率,并引入了无
                            支持无损        损压缩,支持网上的渐显传
                                        输
  PNG8        256     索引     无损    否    256色以下采用索引模式,
                                        可交错显示
  PNG24      1670万    RGB    无损    否
  SVG        1670万    矢量     无损    否
  WebP       1670万    RGB    有损    否
Web Image Optimization




                  V. 如何优化
Web Image Optimization




                     Rule 1
            Less image connections

                  更少的图片请求
Web Image Optimization




           一定要使用图片吗?

   呈现相同信息量的数据,图片的劣势很明显

          圆角、阴影、渐变CSS都可以搞定
Web Image Optimization


  border-radius linear-gradient box-shadow
Web Image Optimization



           CSS Sprites(雪碧图)
                         background-position: -10px -20px;
Web Image Optimization



                   data:URI



     在线转换工具:

     http://websemantics.co.uk/online_tools/ima
     ge_to_data_uri_convertor/
Web Image Optimization



                   data:URI
     优点:

     图片请求变少

     缺点:

     不能利用缓存

     不支持缩放

     浏览器兼容性不佳
Web Image Optimization



               MHTML(IE8-)
Web Image Optimization



                    MHTML
     优点:

     图片请求变少

     缺点:

     不能利用缓存

     不支持缩放

     浏览器兼容性不佳

     安全风险
Web Image Optimization




                     Rule 2
        Choose the best image format

               选择最佳的图片格式
Web Image Optimization



                 PNG VS GIF
     • 除非使用GIF动画,否则PNG8可以替代GIF

     • PNG8压缩率高于GIF

     • PNG 没有专利问题

     • 除了IE6,支持Alpha透明
Web Image Optimization



                    GIF抖动
     抖动(Dithering),会增加图片大小(除非真有必要)
Web Image Optimization



               PNG VS JPEG
     • 存照片还是用JPEG,文件尺寸更小

     • Alpha透明,且色彩丰富,用PNG
Web Image Optimization



                         小结
     • 动画用GIF

     • 图标、按钮等色彩简单的用PNG8

     • Alpha透明,色彩丰富(>256),用PNG24

     • 色彩非常丰富的照片,用JPEG
Web Image Optimization




                     Rule 3
                 Minify file size

                   图片文件压缩
Web Image Optimization



                降低颜色数量
Web Image Optimization



                降低图片质量
Web Image Optimization



                降低图片质量

     • 100%并不一定是最高的品质

     • 慎用50%以下的压缩率,失真非常严重   U
Web Image Optimization



        移除exif、软件附加信息
Web Image Optimization



         图片使用无cookie域名
Web Image Optimization




                     Rule 4
               Efficient rendering

                 提高图片渲染效率
Web Image Optimization



                图片指定宽高
Web Image Optimization



                  不缩放图片
Web Image Optimization




                     Rule 5
             Better user experience

                 提升图片用户体验
Web Image Optimization



             交错gif和渐进JPG
Web Image Optimization



             交错gif和渐进JPG
Web Image Optimization



                渐进JPEG优化


     • 逐行显示

     • 逐行显示,但是用霍夫曼算法(Huffman Coding)
       优化

     • 渐进JPG
Web Image Optimization



             交错gif和渐进JPG
Web Image Optimization



                 IMG lowsrc

  <img lowsrc="低分辨率图片" src="高分辨率图片“/>
Web Image Optimization



                优化手段总结
     • 使用CSS做一些特效设计,不支持浏览器降级处理

     • 可采用CSS Sprite

     • 不使用data-uri和MHTML

     • GIF、PNG、JPEG按需选择

     • 降低图片颜色和压缩比

     • 移除 EXIF 和软件信息
Web Image Optimization



                优化手段总结
     • 使用无cookie的图片域名

     • 图片在 HTML 中指定宽高

     • 不要缩放图片

     • 使用交错 GIF 和渐进 JPG 增强体验
Web Image Optimization




                 VI. 优化工具
Web Image Optimization



     • 在线优化工具

     • 本地优化工具
        – GUI界面

        – 命令行
Web Image Optimization




             Yahoo Smush it!
Web Image Optimization


     • DynamicDrive
     • PunyPNG
     • SiteReportCard
     • WebResizer
     • StanleyShilov
     • PNGCrush
     • PngRewrite
     • PNGOptimizer
     • ImageOptimizer
Web Image Optimization


     GUI Tools

     • ROIT

     • PNGGauntlet

     • ImageOptim

     • JPEG&PNG Stripper

     • JPG Cleaner

     • SuperGIF

     • TweakPNG
Web Image Optimization


     Command Tools

     • PNGOUT

     • PNGCrush

     • OptiPNG

     • JPEGTran

     • gifsicle
Web Image Optimization




                Automation
Web Image Optimization



     • 过程自动化,无需人工介入

     • 无损压缩,不担心图片质量受损

     • 使用免费的命令行工具
Web Image Optimization




                    说在最后
Web Image Optimization



     • 不可过度优化,尤其是有损压缩是以损失图片质
       量为代价的

     • 优化也要考虑到后期维护成本

     • 牺牲部分视觉特效,可能换来性能大幅提升
Thank You

Contenu connexe

En vedette

Image Matting Using Linear Optimization
Image Matting Using Linear OptimizationImage Matting Using Linear Optimization
Image Matting Using Linear OptimizationConrad Triquell
 
移动端Web开发性能优化实践
移动端Web开发性能优化实践移动端Web开发性能优化实践
移动端Web开发性能优化实践Mingel Zhang
 
2 好照片-chengdu
2 好照片-chengdu2 好照片-chengdu
2 好照片-chengdu36Kr.com
 
SVG, CSS3, and D3 for Beginners
SVG, CSS3, and D3 for BeginnersSVG, CSS3, and D3 for Beginners
SVG, CSS3, and D3 for BeginnersOswald Campesato
 
Gráficos Vetoriais na Web com SVG
Gráficos Vetoriais na Web com SVGGráficos Vetoriais na Web com SVG
Gráficos Vetoriais na Web com SVGHelder da Rocha
 
Css性能优化
Css性能优化Css性能优化
Css性能优化linxz
 
Image optimization
Image optimizationImage optimization
Image optimizationjasonaldein
 
Mobile UI design and Developer
Mobile UI design and DeveloperMobile UI design and Developer
Mobile UI design and Developerjay li
 
Image and sound optimization
Image and sound optimizationImage and sound optimization
Image and sound optimizationdmydlack
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files OptimizationBogdan Gaza
 
Mobile and web optimization + Drupal
Mobile and web optimization + DrupalMobile and web optimization + Drupal
Mobile and web optimization + DrupalKirill Borzov
 
10 praktických CSS3 a SVG řešení
10 praktických  CSS3 a SVG řešení10 praktických  CSS3 a SVG řešení
10 praktických CSS3 a SVG řešeníMartin Michálek
 
高德地图M站性能优化
高德地图M站性能优化高德地图M站性能优化
高德地图M站性能优化sking l
 
Make your web faster
Make your web fasterMake your web faster
Make your web faster德生 谭
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it worksIlya Grigorik
 
浏览器加载原理
浏览器加载原理浏览器加载原理
浏览器加载原理imkingbird
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Pascal Rettig
 
CSS and image optimization
CSS and image optimizationCSS and image optimization
CSS and image optimizationStoyan Stefanov
 

En vedette (20)

Image Matting Using Linear Optimization
Image Matting Using Linear OptimizationImage Matting Using Linear Optimization
Image Matting Using Linear Optimization
 
移动端Web开发性能优化实践
移动端Web开发性能优化实践移动端Web开发性能优化实践
移动端Web开发性能优化实践
 
2 好照片-chengdu
2 好照片-chengdu2 好照片-chengdu
2 好照片-chengdu
 
SVG, CSS3, and D3 for Beginners
SVG, CSS3, and D3 for BeginnersSVG, CSS3, and D3 for Beginners
SVG, CSS3, and D3 for Beginners
 
Gráficos Vetoriais na Web com SVG
Gráficos Vetoriais na Web com SVGGráficos Vetoriais na Web com SVG
Gráficos Vetoriais na Web com SVG
 
Css性能优化
Css性能优化Css性能优化
Css性能优化
 
Image optimization
Image optimizationImage optimization
Image optimization
 
Mobile UI design and Developer
Mobile UI design and DeveloperMobile UI design and Developer
Mobile UI design and Developer
 
D3.js and SVG
D3.js and SVGD3.js and SVG
D3.js and SVG
 
Image and sound optimization
Image and sound optimizationImage and sound optimization
Image and sound optimization
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files Optimization
 
Mobile and web optimization + Drupal
Mobile and web optimization + DrupalMobile and web optimization + Drupal
Mobile and web optimization + Drupal
 
Compressive Spectral Image Sensing, Processing, and Optimization
Compressive Spectral Image Sensing, Processing, and OptimizationCompressive Spectral Image Sensing, Processing, and Optimization
Compressive Spectral Image Sensing, Processing, and Optimization
 
10 praktických CSS3 a SVG řešení
10 praktických  CSS3 a SVG řešení10 praktických  CSS3 a SVG řešení
10 praktických CSS3 a SVG řešení
 
高德地图M站性能优化
高德地图M站性能优化高德地图M站性能优化
高德地图M站性能优化
 
Make your web faster
Make your web fasterMake your web faster
Make your web faster
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
 
浏览器加载原理
浏览器加载原理浏览器加载原理
浏览器加载原理
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3Vector Graphics on the Web: SVG, Canvas, CSS3
Vector Graphics on the Web: SVG, Canvas, CSS3
 
CSS and image optimization
CSS and image optimizationCSS and image optimization
CSS and image optimization
 

Similaire à Web图片优化

图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少youhua tang
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路yingganfei
 
相容測試 Powerpoint 2003
相容測試   Powerpoint 2003相容測試   Powerpoint 2003
相容測試 Powerpoint 2003SpykerWu
 
相容測試 Powerpoint 2003 ( 內嵌字型版 )
相容測試   Powerpoint 2003 ( 內嵌字型版 )相容測試   Powerpoint 2003 ( 內嵌字型版 )
相容測試 Powerpoint 2003 ( 內嵌字型版 )SpykerWu
 
相容測試 Powerpoint 2003
相容測試   Powerpoint 2003相容測試   Powerpoint 2003
相容測試 Powerpoint 2003GongSun-Hao
 
潘杰茂 网络图像优化 V21
潘杰茂 网络图像优化 V21 潘杰茂 网络图像优化 V21
潘杰茂 网络图像优化 V21 czbad
 
使用Big pipe提升浏览速度 wk_velocity
使用Big pipe提升浏览速度 wk_velocity使用Big pipe提升浏览速度 wk_velocity
使用Big pipe提升浏览速度 wk_velocitykumawu
 
Png还是jpg,这是个问题
Png还是jpg,这是个问题Png还是jpg,这是个问题
Png还是jpg,这是个问题碳酸饮料会
 
2011新版首页总结 技术篇
2011新版首页总结 技术篇2011新版首页总结 技术篇
2011新版首页总结 技术篇传贵 谢
 
移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发drewz lin
 
Simple case using WebP
Simple case using WebPSimple case using WebP
Simple case using WebPMacy Kung
 
一淘新首页总结
一淘新首页总结一淘新首页总结
一淘新首页总结jieorlin
 
杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧增强 杜
 
瀏覽器與網頁原理 Principles of Browsers and Webpages
瀏覽器與網頁原理 Principles of Browsers and Webpages瀏覽器與網頁原理 Principles of Browsers and Webpages
瀏覽器與網頁原理 Principles of Browsers and Webpages安齊 劉
 
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構Mu Chun Wang
 
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路Drupal Taiwan
 
使用Big pipe提升浏览速度v2
使用Big pipe提升浏览速度v2使用Big pipe提升浏览速度v2
使用Big pipe提升浏览速度v2kumawu
 

Similaire à Web图片优化 (20)

图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少图片优化中常见的7大误区你犯了多少
图片优化中常见的7大误区你犯了多少
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路
 
写更好的CSS
写更好的CSS写更好的CSS
写更好的CSS
 
相容測試 Powerpoint 2003
相容測試   Powerpoint 2003相容測試   Powerpoint 2003
相容測試 Powerpoint 2003
 
相容測試 Powerpoint 2003 ( 內嵌字型版 )
相容測試   Powerpoint 2003 ( 內嵌字型版 )相容測試   Powerpoint 2003 ( 內嵌字型版 )
相容測試 Powerpoint 2003 ( 內嵌字型版 )
 
相容測試 Powerpoint 2003
相容測試   Powerpoint 2003相容測試   Powerpoint 2003
相容測試 Powerpoint 2003
 
潘杰茂 网络图像优化 V21
潘杰茂 网络图像优化 V21 潘杰茂 网络图像优化 V21
潘杰茂 网络图像优化 V21
 
使用Big pipe提升浏览速度 wk_velocity
使用Big pipe提升浏览速度 wk_velocity使用Big pipe提升浏览速度 wk_velocity
使用Big pipe提升浏览速度 wk_velocity
 
Png还是jpg,这是个问题
Png还是jpg,这是个问题Png还是jpg,这是个问题
Png还是jpg,这是个问题
 
2011新版首页总结 技术篇
2011新版首页总结 技术篇2011新版首页总结 技术篇
2011新版首页总结 技术篇
 
移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发
 
Simple case using WebP
Simple case using WebPSimple case using WebP
Simple case using WebP
 
一淘新首页总结
一淘新首页总结一淘新首页总结
一淘新首页总结
 
杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧杜增强 Flash移动开发优化技巧
杜增强 Flash移动开发优化技巧
 
瀏覽器與網頁原理 Principles of Browsers and Webpages
瀏覽器與網頁原理 Principles of Browsers and Webpages瀏覽器與網頁原理 Principles of Browsers and Webpages
瀏覽器與網頁原理 Principles of Browsers and Webpages
 
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
模糊也是一種美 - 從 BlurHash 探討前後端上傳圖片架構
 
Drupal Camp Taipei Keynote
Drupal Camp Taipei KeynoteDrupal Camp Taipei Keynote
Drupal Camp Taipei Keynote
 
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
[DCTPE2011] 3) 主題演講:用Drupal 打造更美好的網際網路
 
2.SEO各影响因素详解
2.SEO各影响因素详解2.SEO各影响因素详解
2.SEO各影响因素详解
 
使用Big pipe提升浏览速度v2
使用Big pipe提升浏览速度v2使用Big pipe提升浏览速度v2
使用Big pipe提升浏览速度v2
 

Web图片优化