一、测评目的

通过分析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. 关于MySQL相关的查看显示信息:

    关于MySQL相关的查看显示信息: 数据库范围: 一.查看所有的数据库:(仅仅是看数据库数量与名字) mysql> show databases; 二.查看某个数据库的创建信息:(主要看数据库的 ...

  2. iOS tableView 滚动后回到顶部

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGPoint contentOffsetPoint = self.tableView ...

  3. iOS多线程同步锁

    在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题: 方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全 @s ...

  4. iOS屏幕旋转

    三种方法 需求:全局主要是竖屏 个别界面需要横屏

  5. BigDecimal使用中的坑

    1.BigeDecimal调用divide时一定要记得规定小数位数的保留情况,不然除不尽的时候报错. 2.使用该种BigeDecimal时,加减乘除都要使用它内部封装好的方法,不然容易报错.

  6. 数据分析 - 开放街道地图(OpenStreetMap)

    数据分析 - 开放街道地图(OpenStreetMap) Reinhard使用OpenStreetMap的开放地图数据作为本次数据分析的数据源,使用Python进行数据清洗,使用MongoDB进行数据 ...

  7. Breeze库API总结(Spark线性代数库)(转载)

    导入 import breeze.linalg._ import breeze.numerics._ Spark Mllib底层的向量.矩阵运算使用了Breeze库,Breeze库提供了Vector/ ...

  8. http常见状态码解析

    自定义 Ajax原生编写ajax:function(opt){ var xmlhttp; //创建对象 if (window.XMLHttpRequest){// code for IE7+, Fir ...

  9. HTML 链接 - href

    链接 在HTML的学习中,链接的标签发挥着很大的作用,HTML 使用超级链接与网络上的另一个文档相连.几乎可以在所有的网页中找到链接.点击链接可以从一张页面跳转到另一张页面. 比如说:实例 创建超级链 ...

  10. Python Locust对指定网站“一键压测”

    [本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...