一、测评目的

通过分析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. 控制反转Inversion of Control (IoC) 与 依赖注入Dependency Injection (DI)

    控制反转和依赖注入 控制反转和依赖注入是两个密不可分的方法用来分离你应用程序中的依赖性.控制反转Inversion of Control (IoC) 意味着一个对象不会新创建一个对象并依赖着它来完成工 ...

  2. ThinkPHP 下如何隐藏index.php

    最近一直在做孕妈团的项目,因为部署到实际项目中出现了链接打不开的情况,要默认添加index.php才能正常访问. 当时忘了是Tinkphp的URL重写模式:以后遇到相同问题,首先要想到URL重写模式. ...

  3. Avg_row_length是怎么计算的?

    通过一下命令我们可以获取表的使用情况: root::>show table status like 'tbname'\G 结果: . row ************************** ...

  4. Yii2框架实现计数器功能

    思路: 因为yii2框架没有像tp框架那样的setinc这样的累加函数,所以只能在每次累加之前查出当前的这个字段的值,然后写算法累加入库 例如:

  5. vue.js实现添加删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. webstorm IDE添加Plugins----添加vue插件

    webstorm IDE很强大了,扩展性很强,语法校验很强大,不过有时候一些特殊的插件  还是需要自己添加到IDE的 下面以添加VUE Plugins 为例: Setting--Plugins[点下方 ...

  7. switch case

    Console.WriteLine("1土豆"); Console.WriteLine("2玉米"); Console.WriteLine("3小麦& ...

  8. Linux系统结构

        Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统.部分层次结构如图 ...

  9. 24SQL

    create  or  replace  function f_op (p_n1  number , p_op  varchar2 , p_n2  number )  return  number a ...

  10. centos升级glibc(升级到2.14版)

    1.下载源码包 到http://ftp.gnu.org/gnu/glibc/下载glibc-2.14.tar.xz 2.解压 tar glibc-2.14.tar.gz 3.创建build目录 cd ...