网站图片优化-解码JPEG
首先,老大拿了两个网站工具的分析跟我说,让我分析一下我们网站的图片有没有什么方法优化。
【网站分析工具】
webpage test: http://www.webpagetest.org/
谷歌pagespeed insights: https://developers.google.com/speed/pagespeed/insights/
【图片格式与编码】
我们网站png很少,主要是jpg。
JPEG的编码规则见度娘 http://baike.baidu.com/view/7679.htm
另一种更好的理解是借助Photoshop的3个编码选项 http://www.photoworld.com.cn/post/8614
1. 基线(“标准”)
2. 基线已优化
3. 连续(3/4/5)
总体上讲就是基线编码和连续编码。基线编码可做无损的哈夫曼编码优化。连续编码就是传说中的渐进式图片,这种需要浏览器支持JPEG2000。
【我们讲的是无损压缩】
JPEG是有损压缩格式,压缩图片大小的代价是失真。然而也还是有无损压缩的部分,比如刚才说的哈夫曼编码优化。
然而我们的图片已经是优化过的,为什么谷歌还提示能进一步压缩?
通过分析谷歌优化前优化后图片的元数据发现,JPEG图片中其实保存着EXIF即相机信息和编辑器信息。但这不是大头,只有24字节。
最天杀的元数据大约有900字节的信息是个叫XMP的东西。。。大概就是PS的编辑信息。所以谷歌所说的优化,就是移除图片的元信息。
【图片压缩工具】
分析过程中用到的工具:
| JPEGsnoop | 在windows下使用,用于分析图片的元信息和编码情况 |
| jpegtran | 谷歌推荐的压缩工具,在linux下压缩图片、移除元信息 |
| coobird.thumbnailator | java中的图片压缩工具,底层实现是调用java的ImageIO |
| Photoshop | Adobe的知名的图片编辑图片转换工具 |
最后的结论是。。。PS就能解决的问题,搞那么复杂作甚。。。哈哈~
网站图片优化-解码JPEG的更多相关文章
- Web 性能优化: 图片优化让网站大小减少 62%
摘要: 压缩各种格式的图片. 原文:Web 性能优化: 图片优化让网站大小减少 62% 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是 Web 性能优化的第二篇,上一篇在下面看点 ...
- 深度学习原理与框架-Tfrecord数据集的制作 1.tf.train.Examples(数据转换为二进制) 3.tf.image.encode_jpeg(解码图片加码成jpeg) 4.tf.train.Coordinator(构建多线程通道) 5.threading.Thread(建立单线程) 6.tf.python_io.TFR(TFR读入器)
1. 配套使用: tf.train.Examples将数据转换为二进制,提升IO效率和方便管理 对于int类型 : tf.train.Examples(features=tf.train.Featur ...
- Web性能优化:图片优化
程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...
- 【PC网站前端架构探讨系列】结合公司网站首页,谈前端模块化开发与网站性能优化实践
说在前面 上午给大家分享的个人认为比较全,比较官方,比较清晰的grunt使用教程,被挪出首页了,不过没关系,毕竟不是原创,大家想看,我现在贴出地址: http://www.cnblogs.com/sy ...
- Web前端性能优化之图片优化
我自己的Blog:http://blog.cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到了互联网内容总量的62%,也就是说超过 ...
- 网站性能优化(Yahoo 35条)
Yahoo 网站性能优化 35条 一.内容部分 尽量减少 HTTP请求 减少 DNS查找 避免跳转 缓存 Ajxa 推迟加载 提前加载 减少 DOM元素数量 用域名划分页面内容 使 frame数量最少 ...
- 网站性能优化— WebP 全方位介绍
谈到优化网站性能时,主要目标之一就是减少要发送到浏览器的数据量(即 payload).而当前,图片通常是页面构成中最耗费流量的部分,因此降低图片的大小是一个最为有效的优化网页前端性能的办法. 有很多工 ...
- Yahoo团队经验:网站性能优化的34条黄金法则
Yahoo团队总结的关于网站性能优化的经验,非常有参考价值.英文原文:http://developer.yahoo.com/performance/rules.html 1.尽量减少HTTP请求次数 ...
- 网站性能优化实战——从12.67s到1.06s的故事
文章摘自https://juejin.im/post/5b0b7d74518825158e173a0c 作为互联网项目,最重要的便是用户体验.在举国“互联网+”的热潮中,用户至上也已经被大多数企业所接 ...
随机推荐
- Maven 依赖管理
1 概念介绍 之前我们说过,maven 坐标能够确定一个项目.换句话说,我们可以用它来解决依赖关系.在 POM 中,依赖关系是在 dependencies部分中定义的.在上面的 POM 例子中,我们 ...
- Oracle数据库和MySQL数据库的不同之处
1.体积不同. Oracle它体积比较庞大,一般是用来开发大型应用(例如分布式)的.而MySQL的体积相对来说比较小,较之Oracle更容易安装.维护以及管理,操作也简单,最重要的是它是三个中唯一一个 ...
- 51nod1313 完美串
一个N长的字符串S(N<=3000),只由'R','G','B'三种字符组成,即串中不存在除了这3个字符以外的其他字符.字符串S的子串substr(L,R)指S[L]S[L+1]S[L+2].. ...
- 推荐一个golang的json库
生成json的库 https://github.com/bennyscetbun/jsongo https://github.com/donnie4w/json4g
- C#将字符串转换为整型的三种方法的总结
在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法: (1)使用强制类型转换:(int)浮点数 (2)使用Convert.ToInt32(string) (3)使用int.Parse(str ...
- 【wp之二 页面布局】
1. panoramic全景视图 新建工程选择:Windows Phone Panorama Application 相当于用放大镜看报纸的感觉.用一张图片作为背景. 2.pivot透视视图
- 黄聪:wordpress如何获取当前分类页面的ID、名称、别名(slug)
<? global $wp_query; $cat_ID = get_query_var('cat'); $category = get_category($cat_ID); echo $cat ...
- iphone dev 入门实例5:Get the User Location & Address in iPhone App
Create the Project and Design the Interface First, create a new Xcode project using the Single View ...
- c# 对话框交换数据
本例是一个管理联系人信息的小程序,程序有两个窗体,一个主窗体,在listview控件中显示联系人信息列表,一个对话框窗体,用来显示和修改 某个联系人的信息.通过主窗体的菜单命令,可以打开对话框,并把主 ...
- PLSQL_闪回操作3_Fashback Transaction Query
2014-12-09 Created By BaoXinjian