☆ DXVA与FlashPlayer之间关系?
了解了DXVA的具体用途后,接下来让我们了解一下DXVA与FlashPlayer之间的关系。
我们知道DXVA是微软定制的视频硬件加速规范,虽然目前显卡图形核心支持DXVA规范,但这不能说明某一款图形核心完全支持DXVA规范里的所有功能。不过微软想到了一个很好的解决办法,即与图形核心相对应的显卡驱动加入DXVA代码,用驱动来告诉系统中DXVA接口当前系统中图形核心支持DXVA的哪部分功能。
这也就回到了我们前文所提及的,要想让网络视频支持图形核心硬件加速,在升级FlashPlayer软件同时,硬件的驱动也需要即使更新加入DXVA功能识别代码,令硬件上可以胜任硬件能力的图形核心开启针对FlashPlayer播放器的支持,用DXVA以完成网络视频格式的高清硬件加速解码。
同时根据DXVA的规范制定,硬件加速解码可分为四个级别,它们由高到低分别是:
VLD(bitstream方面的处理)>IDCT(帧内压缩)>MoComp(帧间压缩)>PostProc(显示后处理)
从上面的等级分布上不难看出,VLD加速等级最高,所以其包含IDCT、MoCoopm和PostProc;IDCT加速次之,包含MoCoopm和PostProc;最后MoComp加速仅包含PostProc。
对于仅支持MC加速的显卡只有在2005年以前的老产品上出现,当NVIDIA进入GeForce 6000系列和AMD进入Radeon X800系列后,图形核心的硬件加速能力达到了IDCT加速级别。而当显卡进入图形核心统一架构设计后,GeForce 8000和Radeon HD 2000开始进入目前最高的VLD加速。
不过值得一提的是,由于NVIDIA的高清硬件加速功能基于Video Pocesser单元设计,而最早出现的GeForce 8800系列(G80核心产品)没有开放此功能单元设计,所以NVIDIA真正进入VLD加速是从2007年4月发布的GeForce 8600/8500系列开始。
FlashPlayer 10.1硬件加速三大步
通过前文的详细介绍DXVA,让我们知道要让FlashPlayer在现有支持的DXVA功能基础上稍微修改,就能够实现FlashPlayer例如图形核心来硬件解码H.264、VC-1的高清视频,当然AMD和NVIDIA以及集成显卡领域霸主Intel在图形核心驱动也要有针对性升级。
● FlashPlayer升级 10.1测试版放出
目前基于高清播放的Flash Player,Adobe已经推出了10.1测试版,而且可以在其官方网站下载获得,这个版本目前已经能够在AMD、Intel、NVIDIA图形核心产品上实现高清硬件加速。
正式版Flash Player版本为10.0.32.18(官方下载链接)
测试版Flash Player版本为10.1.11.709(官方下载链接)
目前Flash Player正式版本为10.0.32.18,而支持硬件高清加速的Flash Player仍处于测试阶段,版本号为10.1.11.709。由于基于Flash Player的高清硬件加速仍处于测试阶段,所以主流视频网站没有将其支持,目前已知YouTube已经开始支持Flash Player的高清硬件加速。
YouTube高清频道支持GPU硬件加速
虽然YouTube由于诸多原因,国内网友无法正常浏览该网站,不过通过截图能够感受到网页浏览高清的视觉冲击力,当然你的个人网络带宽要足够。
随着Web 2.0视频网站先驱者YouTube的尝鲜成功,随之会有越来越多的视频网站采用这个全新的高清视频播放模式,届时国内著名的视频网站也会悉数采纳,到时导致网络高清卡的原因只能是网络带宽,硬件平台不会造成瓶颈。
● 显卡驱动以就绪 A/I/N蓄势待发
Flash Player 10.1 Beta的推出让我们在应用端有备无患,那么在硬件这边还需要硬件厂商在驱动方面的支持,目前AMD和NVIDIA都已经推出了相关正式版驱动。
AMD 9.11 WHQL版驱动说明截图(PDF说明下载链接)
NVIDIA 195.62 WHQL驱动说明截图(PDF说明下载链接)
我们可以在AMD和NVIDIA的官方驱动下载页面上看到,两家目前最新版本的驱动都在新特性一栏中明确表示支持Adobe Flash Player 10.1的硬件加速功能。而在Intel方面,虽然没有明确的驱动更新表示支持Flash Player 10.1的硬件加速,不过理论上G41/G42/G45均可以实现该功能, 也许Intel会在Flash Player 10.1推出正式版方案后,推出并更新相关支持硬件加速的驱动(目前有消息称G4X系列主板已经能够实现硬件加速)。
● 你的显卡支持Flash Player 10.1高清硬件加速吗?
AMD方面:
在AMD催化剂9.11 WHQL的官方驱动说明文档中写道:“This feature is supported on the ATI Radeon HD 5800, ATI Radeon HD 5700 and ATI Radeon HD 4000 Series of products.”,它的意思就是说目前AMD支持Flash Player 10.1高清硬件加速功能的有已发布的Radeon HD 5000系列和Radeon HD 4000系列。不过根据各方面报道除了娱乐级独立显卡外,AMD的移动平台Radeon HD 4000系列、集显主板中Radeon HD 3000/4000和FirePro V系列部分显卡均可支持。
NVIDIA方面:
由于NVIDIA在图形核心领域涉及领域广于AMD,而且值得一提的是目前NVIDIA方面只要采用统一架构的图形核心产品,即GeForce系列(含移动平台)、Quadro系列(含移动平台)和ION平台均支持Flash Player 10.1高清硬件加速功能,更详细的支持产品列表请查看NVIDIA官方网站,即》查看链接《。
性能测试的硬件、软件平台状况
● 测试系统硬件环境
性能测试使用的硬件平台由Intel 奔腾双核E6300、Intel原厂DG45ID主板和2GB*2双通道DDR2-800内存构成。细节及软件 环境设定见下表:
测 试 平 台 硬 件 |
中央处理器 | Intel 奔腾双核 E6300 2.8GHz |
(2核 / 266MHz*10.5 / L2为2MB ) |
散热器 | Thermalright Ultra-120 eXtreme |
(单个120mm*25mm风扇 / 1600RPM) |
内存模组 | Kinston 2GB DDR2 800 (窄板) |
(SPD:800 6-6-6-18-2T) |
主板 | Intel DG45ID |
(Intel G45 + ICH10R Chipset) |
显示卡 |
AMD 产 品 |
Radeon HD 5750 |
(RV840 / 1024MB / 核心:700MHz / Shader:700MHz / 显存:4600MHz) |
Intel 产 品 |
G45 |
(GMA X4500HD / 0MB / 核心:533MHz / Shader:533MHz / 显存:0MHz) |
NVIDIA 产 品 |
GeForce GTS 250 |
(G92 / 1024MB / 核心:702MHz / Shader:1512MHz / 显存:2000MHz) |
硬盘 | HITACHI 1TB |
(1TB / 7200RPM / 16M缓存 / 50GB NTFS系统分区) |
电源供应器 | AcBel R8 ATX-700CA-AB8FB |
(ATX12V 2.0 / 700W) |
显示器 | DELL UltraSharp 3008WFP |
(30英寸LCD / 2560*1600分辨率) |
● 测试系统的软件环境
操 作 系 统 及 驱 动 |
操作系统 |
Microsoft Windows 7 Ultimate RTM |
(中文版 / 版本号7600) |
主板芯片组
驱动 | Intel Chipset Device Software for Win7 |
(WHQL / 版本号 9.1.1.1120) |
显卡驱动 |
AMD Catalyst for Win7 |
(WHQL / 版本号 9.11) |
Intel Graphics Media Accelerator for Win7 |
(WHQL / 版本号 15.16.3.64.1995) |
NVIDIA Forceware for Win7 |
(WHQL / 版本号 195.62) |
桌面环境 | 2560*1600_32bit 60Hz |
测 试 平 台 软 件 |
多媒体 | Adobe Flash Player 10 正式版 |
Adobe / 版本号10.0.32.18 |
Adobe Flash Player 10.1 测试版 |
Adobe / 版本号10.1.11.709 |
辅助测试软件 | Fraps |
beepa / 版本号 3.0.3 |
AMD与Flash Player 10.1支持情况测试
今年年底AMD发布的Radeon HD 5000系列,是目前唯一支持微软最新DirectX 11 API的产品,经过短短1个多月的产品布局,从799元至4599元均有AMD DirectX 11产品身影。其中本次Flash Player高清播放测试中,笔者选择了现有DirectX 11产品中最低端的Radeon HD 5750作为测试对象。
● 片长10分钟/容量150MB/格式MP4/720p测试
Adobe Flash Player 10下CPU使用率平均约为10%左右
Adobe Flash Player 10.1下CPU使用率平均约为10%左右
此段视频体积约为150MB、片长10分钟、MP4格式的720p,由于视频本身码流较小,现有测试平台无论CPU的软件码还是GPU的硬解码都能轻松完成,在两个版本Adobe Flash Player的测试中,CPU使用率平均均为10%左右。
● 片长80秒/容量63MB/格式FLV/720p测试
Adobe Flash Player 10下CPU使用率平均约为10%左右
Adobe Flash Player 10.1下CPU使用率平均约为10%左右
这段片长80秒、容量63MB的FLV视频,相对上面的视频测试,该段《特种部队:眼镜蛇崛起》的720p码流更高,对解码性能要求更高。不过在实际测试中,两个版本的Adobe Flash Player的差距并不大,平均CPU使用率均为10%左右。不过在Adobe Flash Player 10.1下,CPU使用率更加平缓,波动幅度相对Adobe Flash Player 10较小。
● 片长120秒/容量150MB/格式FLV/1080p测试
Adobe Flash Player 10下CPU使用率平均约为60%左右
Adobe Flash Player 10.1下CPU使用率平均约为25%左右
在片长120秒、体积为150MB的1080p视频面前,CPU的软解和GPU的硬件效能差距终于显现。
在使用Adobe Flash Player 10播放前提下,由于只能使用CPU的软解码,此时CPU平均使用率高达60%左右,而且波动幅度较大,最高峰值接近100%。在使用Adobe Flash Player 10.1播放前提下,CPU使用资源得到大幅缓解,CPU平均使用率约为25%。不过值得一提的是,此时CPU使用率有规律的锯齿状波形,笔者认为这主要还是Adobe Flash Player 10.1尚处Beta阶段,后期正式版以及显卡驱动的进一步优化,会有更好的使用效果。
NVIDIA与Flash Player 10.1支持情况测试
虽然NVIDIA目前在Fermi架构新一代产品发布前处境尴尬,但是凭借自身注重用户视觉体验的功能开发颇多,在实际应用上产品并没有处于劣势,毕竟基于DirectX 11的游戏凤毛麟角。本次Adobe Flash Player 10.1的测试中,笔者选择了与Radeon HD 5750相对应的GeForce GTS 250。
● 片长600秒/容量150MB/格式MP4/720p测试
Adobe Flash Player 10下CPU使用率平均约为20%左右
Adobe Flash Player 10.1下CPU使用率平均约为10%左右
在本次测试中这段10分钟、150MB的MP4格式720p片源要求最低,GeForce GTS 250在本环节测试中Adobe Flash Player 10.1下的表现优于Adobe Flash Player 10。不过整体来差别不大,这是由于片源码流较小,对硬件资源要求较低导致。
● 片长80秒/容量63MB/格式FLV/720p测试
Adobe Flash Player 10下CPU使用率平均约为20%左右
Adobe Flash Player 10.1下CPU使用率平均约为10%左右
虽然相对上一片源,本环节的80秒63MB的FLV格式720p要求要高,但是对于目前主流硬件平台来说,应对其还是绰绰有余,与上一环节测试成绩相近,即Adobe Flash Player 10.1为10%的CPU占用率,Adobe Flash Player 10为20%的CPU占用率。
● 片长120秒/容量150MB/格式FLV/1080p测试
Adobe Flash Player 10下CPU使用率平均约为50%左右
Adobe Flash Player 10.1下CPU使用率平均约为25%左右
同上一章节AMD的测试情况一样,在1080p测试中Adobe Flash Player 10.1的效能提升明显。在Adobe Flash Player 10下CPU平均使用率搞到50%以上,而在Adobe Flash Player 10.1下仅为25%左右。而且在Adobe Flash Player 10.1下,CPU使用率曲线图同样出现锯齿状波形,由此推断Adobe Flash Player 10.1应该占主要责任,希望正式版Adobe Flash Player 10.1会解决此问题。
Intel准备不充分 不过一切并为定数
现阶段,芯片级厂商对图形核心在高清播放功能上非常重视,这不仅仅体现在拥有独立显卡的AMD和NVIDIA,作为全球图形核心绝对市占率的Intel凭借集成显卡雄霸天下,其也在G4X图形核心上加入了高清硬件解码优化功能。这也就为Adobe Flash Player 10.1下实现图形核心硬件加速提供硬件基础,那么目前能否实现呢?
在本次测试中笔者使用了Intel原厂的DG45ID,其标配G45图形核心。
● 片长600秒/容量150MB/格式MP4/720p测试
Adobe Flash Player 10.1下CPU使用率平均约为30%左右
● 片长80秒/容量63MB/格式FLV/720p测试
Adobe Flash Player 10.1下CPU使用率平均约为30%左右
● 片长120秒/容量150MB/格式FLV/1080p测试
Adobe Flash Player 10.1下CPU使用率平均约为65%左右
笔者使用了目前Intel官方提供的最新版本驱动,其版本为15.16.3.64.1995。在Adobe Flash Player 10和Adobe Flash Player 10.1下CPU使用率并没有改善,上面3幅图是Adobe Flash Player 10.1下截图,CPU平均使用率分别为30%、30%和65%,这也说明目前平台是使用CPU软解视频。
● 一切未成定数 Flash Player高清路漫漫
通过本文测试,我们体验到Adobe Flash Player 10.1的高清播放能力,也让笔者看到未来网络视频高清化的大好前景,不过在测试中的一些问题和软件BUG,还是现阶段Adobe与芯片级厂商必须默契协作早日攻克的主要任务。
本次测试问题1:在播放1080p高清视频过程中,能够开启硬件加速的A卡和N卡均出现CPU使用率有规律锯齿波幅的情况,希望Adobe在正式版Flash Player 10.1中解决该问题。
本次测试问题2:Intel支持高清优化硬件解码的图形核心,目前在Adobe Flash Player 10.1下无法开启硬件加速功能,希望在正式版Adobe Flash Player 10.1发布时Intel推出相关驱动。
本次测试问题3:Adobe Flash Player 10.1优化不足,本次测试中的3款显卡中,在使用Power DVD播放1080p高清时,即使是码流更高的片源CPU占用率依然在10%以下,与实际测试中的25%和65%有这天壤之别。
虽然测试中既有惊喜又有叹息之处,惊喜的是随着Adobe Flash Player 10.1加入高清硬件解码,未来网络高清视频将会为我们带来更佳的视觉体验;叹息的是目前优化不足,“革命尚未成功、同志仍需努力”!同时,笔者希望国内宽带费用的降低,必须看网络高清必须拥有较高的独占带宽,就笔者认为ADSL 2M将成为起步(迅雷高清频道推荐带宽)。