一、测评目的

通过分析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性能测评的更多相关文章

  1. Apache JMeter--网站自动测试与性能测评

    Apache JMeter--网站自动测试与性能测评 2013-02-28 15:48:05 标签:Jmeter From:http://bdql.iteye.com/blog/291987 出于学习 ...

  2. 谷歌性能测评工具lighthouse使用

    1.谷歌插件lighthouse的基本介绍 Lighthouse 是一个网站性能测评工具, 它是 Google Chrome 推出的一个开源自动化工具,能够对 PWA 和网页多方面的效果指标进行评测, ...

  3. 【性能测评】DSP库,MDK5的AC5,AC6,IAR和Embedded Studio的三角函数性能

    测试条件: 1.IAR8.30开最高等级速度优化. 2.MDK5.27正式版使用AC5开最高等级优化3,开启时间优化,测试C标准库和微库MicroLib两种. 3.MDK5.27正式版使用AC6开最高 ...

  4. 第三方IDC性能测评主要指标

    弹性计算性能弹性计费模式就是 "即用即付 ",最小单位可以按小时来计算.随着云计算负载的增长,企业购买服务器带宽时的资源.   1.弹性计算性能   弹性计费模式就是"即 ...

  5. 《Android应用性能优化》2——内存、CPU、性能测评

    4.高效使用内存 4.1 说说内存 Android设备的性能主要取决于以下三因素: CPU如何操纵特定的数据类型: 数据和指令需占用多少存储空间: 数据在内存中的布局 4.2 数据类型 int和lon ...

  6. C++Singleton的DCLP(双重锁)实现以及性能测评

      本文系原创,转载请注明:http://www.cnblogs.com/inevermore/p/4014577.html   根据维基百科,对单例模式的描述是: 确保一个类只有一个实例,并提供对该 ...

  7. node省市区三级数据性能测评

    闲来无事,测试下node和egg 首先是数据库,大概长这样 然后是代码 'use strict'; const Controller = require('egg').Controller; clas ...

  8. 移动App性能测评与优化1.4.4 多进程应用

    1.4.4 多进程应用 根据上一节中的描述,当一个进程结束后,它所占用的共享库内存将会被其他仍然使用该共享库的进程所分担,共享库消耗的物理内存并不会减少.实际上,对于所有共享使用了这个库的应用,Pss ...

  9. 从range和xrange的性能对比到yield关键字(上)

    使用xrange   当我们获取某个数量的循环时,我们惯用的手法是for循环和range函数,例如: for i in range(10): print i 这里range(10)生成了一个长度为10 ...

随机推荐

  1. win2008使用FireDac连接ORACLE数据库问题

    2008上装DELPHI XE7,无论用FireDac 还是Ado都连不上ORACLE数据库 --------------------------- Debugger Exception Notifi ...

  2. ODBC简介

    加载驱动 1 oracle Class.forName("oracle.JDBC.driver.OracleDriver") 2 DB2 Class.forName("c ...

  3. php webservice

    发请求客户端client.php <?php //需要到php.ini文件中打开extension=php_soap.dll try{ //wsdl方式调用web service //wsdl方 ...

  4. 剑指offer:赋值运算符函数和复制构造函数

    赋值运算符函数 对于定义一个赋值运算符函数时,需要注意一下几点: (1)函数的返回类型必须是一个引用,因为只有返回引用,才可以连续赋值 (2)传入的参数声明为常量引用,可以提高代码效率,同时赋值运算函 ...

  5. thinkphp 查询当天 ,本周,本月,本季度,本年度,全部, 数据方法

    数据库字段是createtime 里面保存的是时间戳 <?php /* *按今天,本周,本月,本季度,本年,全部查询预约单数据 * $day 代表查询条件 $cid 代表 公司id *返回arr ...

  6. AngularJS中使用$resource

    这个服务可以创建一个资源对象,我们可以用它非常方便地同支持RESTful的服务端数据源进行交互,当同支持RESTful的数据模型一起工作时,它就派上用场了.      REST是Representat ...

  7. 利用opencv训练样本分类

    参考:http://www.cnblogs.com/easymind223/archive/2012/07/03/2574826.html http://www.tuicool.com/article ...

  8. 【Normal Form】数据库表结构设计所遵从的范式

    参考的优秀文章 数据库(第一范式,第二范式,第三范式) 数据库设计是件严肃.关键的事儿,一毕业,加入一个大型的行业项目,那儿的前辈资深工程师,就给我灌输数据库如何关键.神圣.深不可测的观念,所以,我一 ...

  9. CSS样式表(二)

    [layout] clear:该属性的值指出了不允许有浮动对象的边. 默认值:none none: 允许两边都可以有浮动对象 both: 不允许有浮动对象 left: 不允许左边有浮动对象 right ...

  10. 6.如何使用官方提供的nuget包实现cookie登陆

    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0", 这里需要用到的是这个nuget包 public ...