摘要: 背景与挑战 技博客 GigaOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%;谷歌的 Chrome 网上应用商店采用 WebP 格式图片后,每天可以节省几 TB 的带宽,页面平均加载时间大约减少 1/3;Google+ 移动应用采用 WebP 图片格式后,每天节省了 50TB 数据存储空间。
背景与挑战
科技博客 GigaOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%;谷歌的 Chrome 网上应用商店采用 WebP 格式图片后,每天可以节省几 TB 的带宽,页面平均加载时间大约减少 1/3;Google+ 移动应用采用 WebP 图片格式后,每天节省了 50TB 数据存储空间。但Webp最大的缺点在于压缩算法计算复杂度是JPEG的10倍以上,我们迫切需要一套高性能加速方案来降低业务成本。
项目
今年春节期间大客户为了支持其抢红包业务向阿里云提出了webp转码需求。根据以往经验总共需要准备数几十台32核64线程的物理机。阿里云为提升用户体验降低自身成本,使用FaaS(FPGA as a Service) F1实例加速webp编码。其中FaaS团队提供了FPGA平台支持,OSS团队提供了算法的支持。得益于高性能的FPGA平台,我们使用5台单卡FPGA云服务器扛下了日常40%的webp编码流量。
效果
本次性能测试所使用样本为512x512的图片,所有测试都在阿里云FaaS F1实例上测试。根据业务方的要求,我们对其中部分数据值做了一些混淆。
1)延时
在使用了FPGA加速webp编码之后,延迟降为原来的1/10。
2)吞吐量
每个单卡的F1实例(8vcpu,1 * ARRIA 10)可以获得大约32核64线程物理机的~2倍吞吐量,跟某业内专业加速webp编码公司对比(在用同样F1实例)。我们发现某司的FPGA加速webp编码对CPU依赖非常多,但利用率又只有50-60%,这非常让人费解。
3)图片质量
下图是在不同quality下,对比软件(蓝线)、OSS(红线)、某司(绿线)的编码后psnr曲线。PSNR使用ImageMagick的convert工具计算,数值越大越好。OSS提供的硬件加速算法,在图像质量方面几乎跟软件几乎完全重合,某司提供的webp编码加速器存在不小的差距(差距在0.1~0.5db之间)。
4)压缩率
同样使用图片空间的测试架,quality设置也一样,数值为相对JPEG原图的压缩率,数值越小越好。经过测试我们发现软件、OSS、某司的压缩率几乎完全重合,但依旧保持原有梯队,软件>OSS>某司。
根据上面测试结果,目前阿里云OSS的加速方案在webp压缩场景所有指标都超过了某司,除了压缩率小幅领先之外,其他两个指标都有非常明显的优势。
未来
1)预计性能优化完成之后E2E还可以提升50%的性能。压缩率上,未来采用m6等级的编码,其压缩率比当前压缩率更高。
2)单个FPGA板卡的成本远小于服务器,所以降低业务成本的关键在于提高FPGA的密度。未来webp加速器将使用F3实例,单个芯片的FPGA性能提升了超过2倍,单台服务器的FPGA芯片密度也提升了一倍。
原文链接:https://yq.aliyun.com/articles/561260?spm=a2c41.11181499.0.0
分享到:
相关推荐
【Android 安装包优化】WebP 图片格式性能测试 ( 测试 WebP 图片解码速度 | 测试 WebP 图片编码速度 ) https://hanshuliang.blog.csdn.net/article/details/116102877 源码快照
WebP是一种由Google开发的高效图像格式,旨在提供高质量、体积小的图片,适用于网络上的图像传输。在Windows操作系统上,默认情况下不支持直接预览WebP格式的图片,需要借助第三方软件来实现这一功能。标题提到的是...
本文将深入探讨如何在iOS应用中实现WebP图片的加载,包括网络图片加载和本地图片加载,以及处理WebP格式的GIF。 首先,为了在iOS项目中支持WebP格式,我们需要一个第三方库,因为Apple的原生SDK并不直接支持WebP。...
在Android平台上,WebP是一种非常流行的图像格式,它由Google开发,旨在提供更高效的图片存储和加载,以优化网络资源的使用。相比传统的JPEG和PNG格式,WebP在无损和有损压缩方面都能实现更小的文件体积,同时保持...
接到webp图片的base64码转存为其他格式图片(如:png)的base64码上传服务器。其实就是将webp图片转为png图片而已,只是使用base64编码来体现。当然其中也可以生产图片,byte码均可实现
注意,SDWebImage默认可能不支持WebP,所以需要确保你使用的版本支持WebP编码,或者在初始化时明确启用WebP支持: ```swift SDWebImageWebPCoder.shared.enable = true ``` 对于iOS启动页的WebP图片播放,你可以在...
- WebP是基于VP8视频编码器和libpng库的开源图片格式,支持有损和无损压缩。 - 与JPEG和PNG相比,WebP在同等质量下可以达到更高的压缩比,从而降低应用的体积。 - WebP还支持透明(Alpha通道)和动画,使得它成为...
webp格式图片查看插件,安装后可以资源管理器中查看webp格式的图片
安装后支持使用windows内置照片查看器直接预览及打开webp图片,win10测试通过
WebP图片文件转换工具包是一种专门用于处理WebP格式图像的实用程序,它允许用户将WebP图片转换为PNG等其他常见的图片格式。WebP是由谷歌(Google)开发的,其核心目标是提高网络图像的加载速度,同时保持高质量的...
WebP是一种由Google开发的高效图片格式,它提供了良好的压缩效率和透明度支持,是Android应用中进行图片优化的理想选择。本篇文章将详细介绍如何在Android项目中使用WebP,以实现图片资源的高效压缩。 首先,我们...
这个压缩包文件提供了有关如何将WebP图片转换成这些常见格式的方法和工具。 首先,我们要理解WebP、JPEG和PNG这三种图像格式的特性: 1. WebP:这是一种有损和无损两种压缩方式的图像格式,支持透明度和动画。其...
WebP 是一种新型的图片格式,可以为网站上的图片提供卓越的无损和有损压缩。使用 WebP,网站站长和 Web 开发者可以制作更小、更丰富的图片,从而提升网页加载速度。 WebP 无损图片的大小比 PNG 图片小 26% 。WebP ...
- **快速解码**:由于其优化的编码方式,WebP在解码时比JPEG和PNG更快。 2. **WebP转JPEG** 当需要与不支持WebP格式的设备或软件兼容时,可以将WebP转换为JPEG。JPEG格式广泛接受,但其压缩可能会导致图像质量...
WebP图片格式是一种由Google开发的新型图像文件格式,旨在提供更高的压缩效率,同时保持良好的图像质量。相较于传统的JPEG、PNG等格式,WebP在不牺牲太多画质的前提下,能够显著减少图片的存储大小,从而有助于提升...
webp图片转化工具,支持其他图片格式转成.webp格式图片
在本资源中的WebP相关的SO库,如`libwebp.so`等,提供了C/C++级别的接口,用于执行WebP图片的编码、解码、转换等操作。这些原生库在Java层通过JNI(Java Native Interface)调用,以实现高效的图像处理。 4. **JAR...
这个过程通常包括安装必要的驱动程序和编码/解码库,使得系统能够识别和处理WebP格式的图像文件。 在实际应用中,使用WebP图片格式预览及打开插件有以下几个主要好处: 1. **资源效率**:WebP格式的文件体积小,...
总结起来,WebP转图片和图片转WebP涉及到使用特定的库和工具,如Java的webp-imageio库,以及将库文件放置在正确的位置。通过编程方式,我们可以方便地实现不同图像格式间的转换,以满足不同的存储和展示需求。在处理...
在Android平台上,为了在低版本系统上支持Webp图片的处理,我们可以利用NDK(Native Development Kit)来编写C或C++的原生代码,实现对Webp格式的读取、解码和显示。下面将详细探讨如何使用NDK技术处理Webp图片,并...