随着苹果iPad平板电脑上市日期的临近,苹果与Adobe公司之间有关Flash播放器的争执也从原来的关起门来吵演变成了街头对骂。尽管对 iPhone和iPod touch这样的小型手持设备而言,支不支持Flash关系并不大,不过对下个月便要正式上市的iPad--乔布斯口中“比上网本更牛”的平板电脑而言, 不支持Flash真的没关系吗?
这方面苹果的支持者们最津津乐道的论点大概就是苹果称“Flash极度占有CPU资源”,以及Flash 程序耗电量很大等说法。不过,最近的一项测试却表明,Flash与苹果寄予厚望的HTML5相比起来,情况并不是一边倒的劣势。测试结果显示Flash与HTML5其实是互有优劣,就拿CPU占有率来说,Flash也不是所有情况下的CPU占有率都相对较高,实际上,在某些测试中HTML5的性能甚至还不如Flash。
发起这次测试的是一位名叫Jan Ozer的视频编码技术专家,这位专家从1990年起便一直在从事与数字视频有关的工作,他还写了13本有关视频方面的书。最近,他在PC/Mac平台上对HTML5和Flash做了一次对比测试,所使用的浏览器环境则包括IE8/Chrome/Safari/火狐等。
详细的测试结果读者可以点击这个链接进行查看。纵观测试结果,我们可以发现在所有的测试中Flash的CPU占有率未必是最高的,有时反而是HTML5的占有率较高。以下是Ozer这次测试结果中比较令人注目的几项对比数据:
Mac平台的测试结果:
-使用Safari浏览器时,HTML5是最有效的标准,它的CPU占用率比Flash要低,仅有12.39%;而Flash10.0的占用率则是 37.41%,Flash10.1的占用率则降为32.07%;
-使用谷歌Chrome时,Flash和HTML5旗鼓相当,两者的CPU占用率均为50%;
-使用火狐时,Flash的CPU占用率要比使用Safari时稍微高些,但要比Chrome低;
Windows平台的测试结果:
-Safari无法播放HTML5视频,因此无法测试。不过Flash10.0的CPU占用率则为23.22%。Flash10.1为7.43%;
-谷歌Chrome在Windows系统中的效率要比在Mac中高,而在Chrome+Windows的环境下,Flash Player10.0的效率要比HTML5高24%,而Flash10.1则高58%;
-在火狐中,Flash10.1的CPU占用率仅6%,Flash10.0则为22%;
-在IE8中,Flash10.0的CPU占用率为22.41%,Flash10.1则为14.62%;
硬件加速:Flash性能提升的关键
分析测试的结果之后,Ozer认为造成Flash在部分测试中性能较高的原因主要是其支持硬件视频加速功能。Flash10.1中开始具备这种功能,可以在视频解码的过程中充分利用GPU进行辅助计算。这种功能可以支持Nvidia/AMD/ATI/Intel的较新款显卡产品,尽管在Flash10.0中,只能在全屏模式下提供硬件加速功能,但在最新版本的Flash10.1中,已经可以支持各种显示模式下的视频加速功能。
不过据Adobe公司表示,Linux和Mac OSX并不支持这种硬件视频加速功能,其中Mac OSX无法支持是由于苹果方面没有提供开放这种功能所必需的API接口。但Adobe公司一直声称:“我们的Flash Player团队会继续为在Linux和Mac OSX平台推出硬件视频加速功能而努力。”
简单地说,文章所表达的意思是:苹果为了阻止Flash在他们的Mac OSX/Safari平台上(也就是在iPod/iPhone/iPad平台上)取得较好的执行效能,故意不向Adobe公司提供实现这项功能所需的硬件接口信息。而Adobe也在一直等待苹果放宽政策,按Ozer的话讲:“苹果掌握了生杀大权”。
那么,苹果会让步吗?看起来不太可能。只要苹果继续将Flash阻挡在开启硬加速功能所需的硬件接口的大门外,那么苹果就可以大言不惭地对外宣称Flash的执行效能不佳....而事实也确实如此。不过反过来想如果苹果想让Flash在自己的平台上开启硬加速功能,那么简直是易如反掌的事,这样也难怪有人怀疑苹果之所以这么干的主要目的应该是出于业务模式上的考量,试想如果你能用免费的Flash Player到Hulu.com等视频站点上免费看到很多视频内容,那么为什么还要花钱在iTunes Store上收费观看同样的视频呢?