SlideShare a Scribd company logo
1 of 46
图片优化   7  大误区及解决方案 Stoyan Stefanov Yahoo! Exceptional Performance Velocity, June 24th, 2008, San Francisco [email_address]     [email_address]   翻译: [email_address]
关于这个 PPT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
关于作者 ,[object Object],[object Object],[object Object],[object Object],[object Object]
嗯 ,  图片 ? ,[object Object],[object Object],[object Object],[object Object]
图片流量占总流量的百分比 ? ,[object Object],[object Object],[object Object],[object Object],June 24th, 2008 1 Yahoo! 29% 2 Google 75% 3 YouTube 62% 4 Live.com 64% 5 MSN 41% 6 MySpace 48% 7 Wikipedia 39% 8 Facebook 35% 9 Blogger 27% 10 Yahoo! JP 36%
误区 #1: 明明 PNG  更小却使用 GIF  (担心 IE6 不支持 PNG 透明)
GIF vs. PNG * IE < v.7  不能正常显示 PNG 的 Alpha 通道 GIF 调色板   PNG  ( 即   PNG8,  也称   索引色 ) 真彩色   PNG 颜色种类 256 256 最高 48 位 透明 布尔透明   (on/off) Alpha  (variable) * Alpha (variable) * 浏览器支持 几乎所有 All A-grade (96%+) All A-grade (96%+) 动画 Yes No (future) No (future)
PNG  透明   在 IE 下的问题 ,[object Object],[object Object],PNG8 IE 7  或更高   IE 6  或更低 结论 : IE7 以上没有问题 ; IE6  只支持像 GIF 一样的透明
GIF vs. PNG ,[object Object],[object Object],[object Object],[object Object]
GIF 转换成 PNG ,[object Object],1 Yahoo! 9.55% 2 Google 22.95% 3 YouTube 33.82% 4 Live.com 19.93% 5 MSN 13.53% 6 MySpace 17.65% 7 Wikipedia No GIFs! 8 Facebook 17.47% 9 Blogger 24.27% 10 Yahoo! JP 24.58%
解决方案   #1: 使用   PNG  替代   GIF 视觉无损的 !
误区   #2: 不压缩   PNGs
关于   PNG  通道 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
全球前 10 网站的 PNG 压缩后的结果 ,[object Object],1 Yahoo! 15.52% 2 Google Reader 22.60% 3 YouTube 17.32% 4 Live.com No PNGs 5 MSN No PNGs 6 MySpace 25.44% 7 Wikipedia 21.32% 8 Facebook 9.08% 9 Blogger 1.07% 10 Yahoo! JP No PNGs
解决方案   #2: 压缩 PNGs 视觉无损的 !!
误区 #3: 不去掉   JPEG  的元数据 (metadata)
JPEG  元数据 (metadata) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
视觉无损的 ! JPEG  优化 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
用   jpegtran  优化   十大网站 ,[object Object],1 Yahoo! 2.62% 2 Google No jpegs 3 YouTube 10.71% 4 Live.com 0.47% 5 MSN 7.43% 6 MySpace 4.28% 7 Wikipedia No jpegs 8 Facebook 13.59% 9 Blogger 38.35% 10 Yahoo! JP 17.31%
解决方案   #3: 去掉用不着的   JPEG  元数据 视觉无损的 !!
误区 #4:  PNG8 就够用时却使用   PNG32
真彩色 vs.  索引色   PNGs ,[object Object],[object Object],[object Object],[object Object],[object Object]
真彩色  vs.  索引色 PNGs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
真彩色 vs.  索引色 PNGs ,[object Object],[object Object],[object Object],[object Object],[object Object]
解决方案   #4: 把所有的   PNGs  转换为索引色 PNGs * ,[object Object],[object Object]
误区 #5: 使用 CSS alpha  滤镜
CSS  滤镜 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
放弃滤镜 ,[object Object],[object Object],[object Object]
解决方案   #5: 放弃   AlphaImageLoader , 尝试   PNG8  或者至少   _filter
误区 #6: 直接输出动态生成的图片
动态生成图片 ,[object Object],[object Object],[object Object],[object Object]
动态生成图片解决方案 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
案例 : Google charts API 原始 (707 colors) 压缩   (707 colors) PNG8 (256 colors) 节省 12% 节省 38%
案例 : Google charts API 原始 (1408 colors) 压缩 (1408 colors) PNG8 (256 colors) 节省  25% 节省  55% ( 去掉了 1000 多种颜色,但是谁能看出来 ?)
解决方案   #6: 压缩动态生成的图片 视觉无损的 !!
误区 #7: 不合并背景图标
CSS Sprites CSS: HTML: …
CSS Sprites ,[object Object],[object Object],[object Object],[object Object]
优化 sprites
解决方案   #7: 使用  CSS Sprites 坚持使用索引色的   PNG8
另外的误区 :  不合理地使用   favicon.ico ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
另外误区 #2:  把图片部署在动态服务器上 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
总结 ,[object Object]
卓越性能相关网址 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you! [email_address]     [email_address]
参考资料 ,[object Object],[object Object],[object Object]

More Related Content

Similar to 图片优化中常见的7大误区你犯了多少

網頁標記語言2
網頁標記語言2網頁標記語言2
網頁標記語言2東偉 蘇
 
标准版手机兼容性设计指引
标准版手机兼容性设计指引标准版手机兼容性设计指引
标准版手机兼容性设计指引完颜 小卓
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路yingganfei
 
[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒
[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒
[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒Shanda innovation institute
 
Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture lusecheng
 
Inspire dgt 網路技術分享_ie9
Inspire dgt 網路技術分享_ie9Inspire dgt 網路技術分享_ie9
Inspire dgt 網路技術分享_ie9inspire digital
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Joseph Chiang
 
互動設計技術現況 20121205
互動設計技術現況 20121205互動設計技術現況 20121205
互動設計技術現況 20121205亭惠 王亭惠
 
Django入门
Django入门Django入门
Django入门oikomi
 
一淘新首页总结
一淘新首页总结一淘新首页总结
一淘新首页总结jieorlin
 
Html5 games
Html5 gamesHtml5 games
Html5 gamesPL dream
 
移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发drewz lin
 
Responsive Web Design [rebuild as design]
Responsive Web Design [rebuild as design]Responsive Web Design [rebuild as design]
Responsive Web Design [rebuild as design]Benny Chak
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践longhao
 
无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3taobao.com
 
前端工程师的软件库
前端工程师的软件库前端工程师的软件库
前端工程师的软件库putaoshu
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Designjay li
 

Similar to 图片优化中常见的7大误区你犯了多少 (20)

Data Pipeline Matters
Data Pipeline MattersData Pipeline Matters
Data Pipeline Matters
 
網頁標記語言2
網頁標記語言2網頁標記語言2
網頁標記語言2
 
标准版手机兼容性设计指引
标准版手机兼容性设计指引标准版手机兼容性设计指引
标准版手机兼容性设计指引
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路
 
[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒
[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒
[Flash开发者交流][2010.05.30]轻量级flash服务器开发框架 刘恒
 
Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture
 
Inspire dgt 網路技術分享_ie9
Inspire dgt 網路技術分享_ie9Inspire dgt 網路技術分享_ie9
Inspire dgt 網路技術分享_ie9
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練
 
互動設計技術現況 20121205
互動設計技術現況 20121205互動設計技術現況 20121205
互動設計技術現況 20121205
 
Django入门
Django入门Django入门
Django入门
 
一淘新首页总结
一淘新首页总结一淘新首页总结
一淘新首页总结
 
Html5 games
Html5 gamesHtml5 games
Html5 games
 
Banquet 39
Banquet 39Banquet 39
Banquet 39
 
移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发移动互联网上的微视频处理与分发
移动互联网上的微视频处理与分发
 
RWDIcon
RWDIconRWDIcon
RWDIcon
 
Responsive Web Design [rebuild as design]
Responsive Web Design [rebuild as design]Responsive Web Design [rebuild as design]
Responsive Web Design [rebuild as design]
 
高性能网站最佳实践
高性能网站最佳实践高性能网站最佳实践
高性能网站最佳实践
 
无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3无名小站首页改版 -渐进增强与css3
无名小站首页改版 -渐进增强与css3
 
前端工程师的软件库
前端工程师的软件库前端工程师的软件库
前端工程师的软件库
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Design
 

图片优化中常见的7大误区你犯了多少

  • 1. 图片优化 7 大误区及解决方案 Stoyan Stefanov Yahoo! Exceptional Performance Velocity, June 24th, 2008, San Francisco [email_address] [email_address] 翻译: [email_address]
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. 误区 #1: 明明 PNG 更小却使用 GIF (担心 IE6 不支持 PNG 透明)
  • 7. GIF vs. PNG * IE < v.7 不能正常显示 PNG 的 Alpha 通道 GIF 调色板 PNG ( 即 PNG8, 也称 索引色 ) 真彩色 PNG 颜色种类 256 256 最高 48 位 透明 布尔透明 (on/off) Alpha (variable) * Alpha (variable) * 浏览器支持 几乎所有 All A-grade (96%+) All A-grade (96%+) 动画 Yes No (future) No (future)
  • 8.
  • 9.
  • 10.
  • 11. 解决方案 #1: 使用 PNG 替代 GIF 视觉无损的 !
  • 12. 误区 #2: 不压缩 PNGs
  • 13.
  • 14.
  • 15. 解决方案 #2: 压缩 PNGs 视觉无损的 !!
  • 16. 误区 #3: 不去掉 JPEG 的元数据 (metadata)
  • 17.
  • 18.
  • 19.
  • 20. 解决方案 #3: 去掉用不着的 JPEG 元数据 视觉无损的 !!
  • 21. 误区 #4: PNG8 就够用时却使用 PNG32
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. 误区 #5: 使用 CSS alpha 滤镜
  • 27.
  • 28.
  • 29. 解决方案 #5: 放弃 AlphaImageLoader , 尝试 PNG8 或者至少 _filter
  • 31.
  • 32.
  • 33. 案例 : Google charts API 原始 (707 colors) 压缩 (707 colors) PNG8 (256 colors) 节省 12% 节省 38%
  • 34. 案例 : Google charts API 原始 (1408 colors) 压缩 (1408 colors) PNG8 (256 colors) 节省 25% 节省 55% ( 去掉了 1000 多种颜色,但是谁能看出来 ?)
  • 35. 解决方案 #6: 压缩动态生成的图片 视觉无损的 !!
  • 37. CSS Sprites CSS: HTML: …
  • 38.
  • 40. 解决方案 #7: 使用 CSS Sprites 坚持使用索引色的 PNG8
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Thank you! [email_address] [email_address]
  • 46.

Editor's Notes

  1. S