HTIML5 真的打败了Flash?新测试结果出人意料

简介: 本文最早发布于 2010 年,通过 Flash 与 HTML5 在 Mac 及 Windows 平台不同浏览器中的测试表现,比较两者的性能并分析背后的原因。虽然是一篇老文,但其客观冷静的分析态度,仍旧值得我们学习。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

【编者按】本文最早发布于 2010 年,通过 Flash 与 HTML5 在 Mac 及 Windows 平台不同浏览器中的测试表现,比较两者的性能并分析背后的原因。虽然是一篇老文,但其客观冷静的分析态度,仍旧值得我们学习。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

总部位于库比蒂诺的苹果公司在即将推出iPad之际,对Adobe Flash技术保持的回避态度已经成为技术界的讨论热点。 在iPhone和iPod Touch这样的小型移动设备上放弃使用Flash尚且说得过去,可是,人们质疑,下个月即将发布的新平板设备对Flash的不支持是否会成为决定成败的关键。虽然按照苹果公司CEO乔布斯的说法,该设备“比上网本要好”。

另一方面,苹果公司的支持者们对苹果的考虑表示赞同——“Flash是CPU杀手”,将Flash技术用于苹果的移动设备势必会缩短电池寿命。

然而,最近有人对比测试了Flash和HTML5(这种新的web标记语言已经削弱了Adobe插件的需求),结果表明这不是一个简单的非黑即白的问题。Flash真的是CPU杀手吗?是的,在有些情况下确实如此,但是,出人意料的是,并非所有情况。实际上,HTML5的表现有时更差。

测试 Flash 和 HTML5

厄泽尔是视频编码技术方面的专家,自1990年起一直从事数字视频工作,同时著有13本与该领域相关的书籍。【作者注:曾有人指出厄泽尔以 Adobe 产品为主题做过讲座,写过书籍,因此他借助Adobe Flash的成功谋利。笔者认为这对测试结果没有任何影响,但还是有必要对此做出说明。】最近,厄泽尔通过一系列的测试对比了HTML5和Flash这两种技术在Mac和PC以及不同web浏览器中的表现,后者包括IE8、Google Chrome、 Apple Safari和Mozilla Firefox。

完整的测试结果公布在StreamingLearningCenter.com上。一言以概之就是:Flash并不总是CPU杀手,有时候这项“殊荣”当属于HTML5。

以下是厄泽尔的一些主要发现,测试结果分成Mac和Windows两个部分。

Mac测试

  • 在Safari浏览器中,HTML5的效率最高,CPU使用率比Flash低,仅为12.39%。使用Flash 10.0时,CPU使用率达到了37.41% ;若使用Flash 10.1,CPU使用率则又降至32.07%
  • 在Google Chrome浏览器中,Flash和HTML5的效率都不高(两者都是50%左右)。
  • 在Firefox浏览器中,Flash的表现比在Safari中稍差一些,但比在Chrome中要好。

Windows测试

  • Safari浏览器无法播放HTML5视频,所以没有办法测试。 但是Flash 10.0的CPU使用率是23.22%,而Flash 10.1的CPU使用率只有7.43%。
  • Google Chrome在Windows上比在Mac上更高效。Flash Player 10.0的播放效率比HTML5高出24%,而Flash Player 10.1的播放效率比HTML5高出58% 。
  • 在Firefox浏览器中,Flash 10.1的CPU使用率从Flash 10.0的22%下降到6%。
  • 在IE8浏览器中,Flash 10.0的CPU使用率是22.41%,而Flash 10.1 的CPU使用率是14.62%。

Flash性能的关键在于硬件加速

厄泽尔在分析测试结果时发现,Flash性能好坏的关键在于是否可以启用硬件加速。该功能在 Flash10.1中首次推出,允许Flash插件在某些计算机上使用图形处理单元(GPU)对视频进行解码。依靠显卡和驱动(NVIDIA, AMD/ATI 和 Intel提供的支持产品),Flash10.1的视频解码不仅可以像Flash10.0一样支持全屏播放,而且还支持所有视频播放。

Adobe表示,在Linux和Mac OS X系统下暂不支持硬件加速,后者是因为 Mac OS X不允许访问所需的API。Adobe还表示,“Flash Player团队将会继续评估是否在将来的版本中为Linux和Mac OS X系统添加硬件加速支持。”

简单地说就是:通过拒绝Flash访问有助于减少CPU负荷的硬件,苹果公司不允许其提高在Mac OS X/Safari平台上(还有 iPod/iPhone/iPad)的运行效率。Adobe正在静待观望,看苹果的态度是否会有所改变,但是正如厄泽尔所说,“主动权在苹果手中。”

那么,苹果会改变主意吗?目前似乎不大可能。在谈及不支持Flash的原因时,苹果只需声称Flash技术的效率低下就可以了。而且现下,考虑到Flash的配置方式,这也确实实属。但是只要苹果公司愿意放行,相信他们也是可以做到的。这就是为什么有些业内人士认为,苹果封杀Flash的决定更多是出于商业考量,而不是技术原因。毕竟,如果你访问Hulu.com就能播放电视节目和电影,又何必去iTunes商店购买呢?

因此,苹果决定在其移动设备上不支持Flash技术,“CPU杀手”一说可能是个影响因素,但很可能不是唯一的原因。

本文转自 OneAPM 官方博客

原文地址:http://readwrite.com/2010/03/10/does_html5_really_beat_flash_surprising_results_of_new_tests

相关文章
|
Unix Linux Android开发
|
移动开发 测试技术 内存技术
|
内存技术 Web App开发
|
内存技术
HI3531的nand flash测试
<p> </p> <p>void NAND_Init()<br> {<br>    *(unsigned int *)(0x20030000 + 0xd0) = 7; delay_x(0X5000);<br>    *(unsigned int *)(0x20030000 + 0xd0) = 6; delay_x(0X5000);<br>    *(unsigned int *)
1112 0
|
7天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
37 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
59 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
239 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
247 3
快速上手|HTTP 接口功能自动化测试