webp性能测评
一、测评目的
通过分析webp图片在不同条件下的性能表现,来确定webp图片的适用场景。
二、测评方式
使用控制变量法,分别从以下3点对webp与jpg图片做对比,得出结论。
1.页面图片总体积。
2.单张图片体积。
3.网速
三、采样数据
测试机器:2015年MacBook Pro
处理器:2.7GHz Intel Core i5
显卡:Intel Iris Graphics 6100
浏览器:Chrome Mac版 52.0.2743.116
1.变化参数:页面图片总体积(通过图片数量变化)
固定参数:每张图片质量为70,尺寸为原图尺寸,网速为Wifi
| 图片总体积(KB) | 18.1(37.2) | 38.6(63.4) | 52.1(93.8) | 99.9(167.6) | 126.3(223.2) | 192.8(325.2) | 222.7(386.7) | 233.6(420.5) | 252.1(458.6) | 283.2(514.9) |
| webp | 207 | 278 | 443 | 718 | 799 | 1073 | 1406 | 1469 | 1662 | 1893 |
| jpg | 116 | 143 | 220 | 270 | 336 | 384 | 452 | 493 | 547 | 617 |

2.变化参数:单张图片体积(通过图片尺寸以及质量变化)
固定参数:网速为Wifi
| 单张图片体积(KB) | 1.0(1.6) | 2.3(3.5) | 3.3(4.9) | 5.0(8.0) | 7.7(13.0) | 9.3(17.0) | 11.3(21.8) | 12.8(26.3) | 14.8(31.4) | 20.2(38.7) |
| webp | 118 | 131 | 136 | 164 | 166 | 240 | 265 | 302 | 314 | 324 |
| jpg | 132 | 133 | 146 | 149 | 150 | 183 | 190 | 217 | 233 | 240 |

3.变化参数:网速(使用Chrome工具模拟网速)
固定参数:图片质量70,尺寸为原图尺寸,webp格式体积18.1KB,jpg格式体积37.2KB
| 网速 | Regular 2G(250k/s) | Good 2G(450k/s) | Regular 3G(750k/s) | Good 3G(1.5m/s) | Regular 4G(4m/s) | Wifi(30m/s) |
| webp | 914 | 522 | 406 | 294 | 235 | 214 |
| jpg | 1519 | 844 | 528 | 293 | 189 | 110 |

四、数据分析
根据以上分析可得出结论:
1.webp图片体积比jpg体积要小40%左右,因此webp图片下载速度比jpg图片更快,耗流量更少。
2.渲染webp比渲染jpg明显要慢。
3.页面图片总体积越大,webp比jpg额外耗时更多。
4.单张图片在5KB以下时,webp加载较快;单张图片在5KB以上时,jpg加载更快。
5.网速在1.5mb/s以上时,jpg更快;网速在1.5mb/s以下时,webp更快。
五、结论
通过以上分析,得出webp的适用场景:
1.网速较差时(由于webp图片体积更小,耗流量更少,网速不好时,性能表现更好)
2.单张图片在5KB以下时
3.页面webp图片总体积在50KB以内时(此时webp与jpg相差在0.2s以内,可以接受)
webp性能测评的更多相关文章
- Apache JMeter--网站自动测试与性能测评
Apache JMeter--网站自动测试与性能测评 2013-02-28 15:48:05 标签:Jmeter From:http://bdql.iteye.com/blog/291987 出于学习 ...
- 谷歌性能测评工具lighthouse使用
1.谷歌插件lighthouse的基本介绍 Lighthouse 是一个网站性能测评工具, 它是 Google Chrome 推出的一个开源自动化工具,能够对 PWA 和网页多方面的效果指标进行评测, ...
- 【性能测评】DSP库,MDK5的AC5,AC6,IAR和Embedded Studio的三角函数性能
测试条件: 1.IAR8.30开最高等级速度优化. 2.MDK5.27正式版使用AC5开最高等级优化3,开启时间优化,测试C标准库和微库MicroLib两种. 3.MDK5.27正式版使用AC6开最高 ...
- 第三方IDC性能测评主要指标
弹性计算性能弹性计费模式就是 "即用即付 ",最小单位可以按小时来计算.随着云计算负载的增长,企业购买服务器带宽时的资源. 1.弹性计算性能 弹性计费模式就是"即 ...
- 《Android应用性能优化》2——内存、CPU、性能测评
4.高效使用内存 4.1 说说内存 Android设备的性能主要取决于以下三因素: CPU如何操纵特定的数据类型: 数据和指令需占用多少存储空间: 数据在内存中的布局 4.2 数据类型 int和lon ...
- C++Singleton的DCLP(双重锁)实现以及性能测评
本文系原创,转载请注明:http://www.cnblogs.com/inevermore/p/4014577.html 根据维基百科,对单例模式的描述是: 确保一个类只有一个实例,并提供对该 ...
- node省市区三级数据性能测评
闲来无事,测试下node和egg 首先是数据库,大概长这样 然后是代码 'use strict'; const Controller = require('egg').Controller; clas ...
- 移动App性能测评与优化1.4.4 多进程应用
1.4.4 多进程应用 根据上一节中的描述,当一个进程结束后,它所占用的共享库内存将会被其他仍然使用该共享库的进程所分担,共享库消耗的物理内存并不会减少.实际上,对于所有共享使用了这个库的应用,Pss ...
- 从range和xrange的性能对比到yield关键字(上)
使用xrange 当我们获取某个数量的循环时,我们惯用的手法是for循环和range函数,例如: for i in range(10): print i 这里range(10)生成了一个长度为10 ...
随机推荐
- 关于MySQL相关的查看显示信息:
关于MySQL相关的查看显示信息: 数据库范围: 一.查看所有的数据库:(仅仅是看数据库数量与名字) mysql> show databases; 二.查看某个数据库的创建信息:(主要看数据库的 ...
- iOS tableView 滚动后回到顶部
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGPoint contentOffsetPoint = self.tableView ...
- iOS多线程同步锁
在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题: 方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全 @s ...
- iOS屏幕旋转
三种方法 需求:全局主要是竖屏 个别界面需要横屏
- BigDecimal使用中的坑
1.BigeDecimal调用divide时一定要记得规定小数位数的保留情况,不然除不尽的时候报错. 2.使用该种BigeDecimal时,加减乘除都要使用它内部封装好的方法,不然容易报错.
- 数据分析 - 开放街道地图(OpenStreetMap)
数据分析 - 开放街道地图(OpenStreetMap) Reinhard使用OpenStreetMap的开放地图数据作为本次数据分析的数据源,使用Python进行数据清洗,使用MongoDB进行数据 ...
- Breeze库API总结(Spark线性代数库)(转载)
导入 import breeze.linalg._ import breeze.numerics._ Spark Mllib底层的向量.矩阵运算使用了Breeze库,Breeze库提供了Vector/ ...
- http常见状态码解析
自定义 Ajax原生编写ajax:function(opt){ var xmlhttp; //创建对象 if (window.XMLHttpRequest){// code for IE7+, Fir ...
- HTML 链接 - href
链接 在HTML的学习中,链接的标签发挥着很大的作用,HTML 使用超级链接与网络上的另一个文档相连.几乎可以在所有的网页中找到链接.点击链接可以从一张页面跳转到另一张页面. 比如说:实例 创建超级链 ...
- Python Locust对指定网站“一键压测”
[本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...