一、测评目的

通过分析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. Devexpress -换皮肤

    一.在项目下新建RibbonForm  命名为:useSkin 二.添加引用DevExpress.OfficeSkins      DevExpress.UserSkins.BonusSkins 三. ...

  2. Qt::QObject类

    QObject 类是Qt 所有类的基类. QObject是Qt对象模型的核心.这个模型的中心要素就是一种强大的叫做信号与槽无缝对象沟通机制.你可以用 connect()函数来把一个信号连接到槽,也可以 ...

  3. FTPClient使用中的问题--获取当前工作目录为null

    使用org.apache.commons.net.ftp.FTPClient 来做ftp的上传下载功能 FTPClient ftp = new FTPClient();ftp.connect(doc. ...

  4. Fuzz的那些事

    Fuzz这个词汇行内的都懂,fuzz工具我就不多说了. 今天,说说fuzz前的准备工作--如何对软件进行修改实现可自动化和无人值守fuzz. 很多软件会有试用期.弹窗.覆盖提示.人机交互等等,这些都会 ...

  5. push or get File or Folder using scp wrapped with expect and bash

    经常需要把服务器的某些文件传到 Mac,或者获取 Mac 的一些文件到服务器.尽管有很多命令scp, ftp, rsync都可以,霸特每次都有敲好长的命令,好烦,而且还要输入密码.所以想着 wrap ...

  6. Linux-wget

    Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协 ...

  7. MVC5 + EF6 简单示例

    本文所使用的软件及环境: Visual Studio Ultimate 2013 (下载地址:http://www.visualstudio.com/downloads/download-visual ...

  8. Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git小结(转)

    摘要 出于兴趣,想要搭建一个自己的小站点,目前正在积极的准备环境,利用Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git,这里总结下最近遇到的一些问题及解决 ...

  9. Excel取消超级链接

    背景 本人使用Excel作笔记,偶尔会将一些url存到文档中.Excel会自动给这些url加上超链接,下次使用的时候,因为会单机跳转,导致选中复制很不方便. 解决方式 修改配置,避免给自动url加上超 ...

  10. 《编写可维护的JavaScript》——JavaScript编码规范(二)

    昨天是我偶像生日,现在整个人都还好兴奋啊O(∩_∩)O~  闲话少说,让我先发篇随笔留念一下^_^ ////////////////////////////////正文分割线///////////// ...