【编者按】本文最早发布于 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 Browser Insight 是一个基于真实用户的 Web 前端性能监控平台,能帮助大家定位网站性能瓶颈,实现网站加速效果可视化;支持浏览器、微信、App 浏览 HTML 和 HTML5 页面。想技术文章,请访问 OneAPM 官方技术博客。

本文转自 OneAPM 官方博客

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

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

  1. Oracle Smart Flash 新特性性能测试说明

    Oracle Smart Flash 新特性性能测试说明 1.1测试之前的工作 1.1.1 Oracle Smart Cache简介 1.1.2 Oacle Smart Cache测试方向 1.1.3 ...

  2. 使用FIO对SATA、SSD和PCIe Flash进行测试

    使用FIO对SATA.SSD和PCIe Flash进行测试 首先声明,同事做的实验 使用fio对SATA.SSD.PCIE进行了测试 测试说明: 1.测试命名   sync_write_4k_32 s ...

  3. 全球公链进展| ETH将推出新测试网Holešky;TRON节点强制升级;ZEN将不再作为隐私币

    一周速览 过去一周,明星项目动态如下: 以太坊将推出新测试网Holešky,以取代Goerli: TRON发布 GreatVoyage-v4.7.2(Periander)版本: Polygon 提出 ...

  4. 智能压力测试垫对糖尿病患者真的很友好吗?-压力测试垫-新导智能

    现阶段,我国患有糖尿病的人口越来越多,在预防和治疗糖尿病的过程也是很煎熬,不知什么时候就患上了糖尿病,为此市面上就出现了压力测试垫,也称足底压力测试垫.只要测试足底的数据就可以分析出,是否患有糖尿病, ...

  5. 基于STM32F429IGT6的NAND FLASH读写测试(CUBEMX)

    本文基于W29N01HV这款NAND FLASH芯片进行讲解,这款芯片的讲解在网上的资料真的很少,关于这款flash的datasheet我会免费共享出来.(如果觉得本文对你没什么帮助可参考:NAND ...

  6. 此beta版本目前不接受任何新测试员_ASO行业资讯|苹果官方App测试工具TestFlight

    ASO行业资讯1数据周报12月8日起,用户在任何 Apple 平台下载 App 之前,App Store 都会先帮助其了解该 App 的隐私保护做法.在每款 App 的产品页面上,用户能了解到该 Ap ...

  7. ESP32入门-NVS的flash读写测试

    硬件 ① 开发板型号:ESP32-WROOM-32 2.软件设计 2.1代码逻辑 ①初始化NVS -> ②创建数据表 -> ③ 读写对应数据表中数据 2.1 软件应用说明 1.NVS使用说 ...

  8. 公司来了个新测试开发,一副毛头小子的样儿,哪想到......

    最近公司来了个新同事,学历并不高,而且大学也不是计算机专业的,今年刚满25岁.. 本以为也是来干点基础的活混混日子的,结果没想到这个人上来就把现有项目的性能优化了一遍,直接给公司节省了不少成本,这种& ...

  9. 你真的了解什么是Beta测试?完整测试指南

    Beta测试 是验收测试类型之一,当最终用户(目标实际用户)验证产品的功能.可用性.可靠性和兼容性时,它会为产品增加价值. 最终用户提供的意见有助于进一步提高产品质量,并获得成功.这也有助于决策进一步 ...

  10. 性能测试:概念,性能指标,监控指标,常见的性能测试,新测试模型,性能测试策略

    目录 1. 什么是性能测试 Performance Testing 1.1 性能概念 1.2 性能测试概念 1.3 软件效率是指什么 1.4 软件效率的哪些方面可以用来衡量软件的性能 1.5  要解决 ...

最新文章

  1. 赠书 | 人工智能变“人工智障”?关于因果关系的新科学
  2. go map的定义和使用 键值对存储
  3. 外国人看来也喜欢拜年
  4. ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释
  5. pyenv 让 python 版本完美切换
  6. 搭建samba文件共享服务
  7. 进程中的一个线程死了所引发的后果
  8. 为什么Go中有的自定义error会导致内存溢出
  9. 本机 Hosts 管理神器 SwitchHosts
  10. 2022年电工杯B题应急物资配送问题浅析
  11. solidworks2021安装教程,solidworks2021安装步骤
  12. 微信小程序:2022虎年全新头像框制作
  13. 通俗理解:实际用户ID/有效用户ID/保存的设置用户ID(saved set-user-ID)
  14. 2021年东南大学软件学院电子信息考研信息
  15. python遍历字母_如何遍历字母表?
  16. google退出后产生的影响
  17. linux7 清屏,CentOS 清屏命令clear的讲解
  18. anaconda打不开怎么办
  19. wisp5.0 学习日记2
  20. django2.1.7从0开始搭建一个个人博客网站第5天

热门文章

  1. 沪江swf文件怎么打开_.swf文件的打开方法
  2. 使用cubemx工具的stm32用AT24C02实现简单密码(一点点面向对象的思想编程)
  3. WinForm程序中使用Unity3D控件
  4. Java贪吃蛇游戏开发
  5. Vray渲染器和Corona渲染哪个更好用?
  6. Java网络编程总结
  7. C语言小程序打印楼梯图案
  8. Android游戏引擎汇总,android开发模拟器
  9. php宠物管理系统的开题报告,基于JSP的宠物医院开发与设计(开题报告)
  10. 用注册表修改右键菜单