热点科技

标题: GPU加速!在线看1080p高清不再是梦想 [打印本页]

作者: suboysugar    时间: 2009-12-11 12:05
标题: GPU加速!在线看1080p高清不再是梦想
全民看高清 网络在线高清大势所趋
        随着2003年电信宽带业务的全国正式运营(2003年为全国普及宽带,并不是说2003年中国才有宽带),作为身居北方小镇的笔者终于使上了1M带宽的ADSL,当时给笔者印象最深的莫过于下载速度,个人用户终于可以轻松突破100KB/s下载速度。记得当时还在上学大学的我,下软件、下电影成了每天开机的最重要理由。
        而近两年,数码影像类产品价格的大幅下滑,尤其是手机摄影功能的高速普及,各种原创类的视频大量出现在网络上。特写是新兴的网络视频网站,不仅为上述用户提供了上载平台,还为全国甚至全球用户分享提供了平台。
        例如全球最大的网络视频网站——YouTube(已被Google收购),国内知名的视频网站优酷、土豆、6间房等。这类视频网站视频的共同特性就是,都基于FLV视频格式,FLV全称Flash Video,它的特点是文件体积小、加载速度快,目前主流的网络视频网站的视频文件大概都是1分钟约1MB,从而使得网络观看视频文件成为可能。FLV格式的出现有效地缓解Flash SWF文件体积庞大的劣势,并解决不能在网络上很好的使用等缺点。例如,原始视频文件200MB左右,上传到视频网站并转换成FLV格式后仅有50MB左右。

        随着网络带宽的进一步提升,越来越多的用户开始追求更高画质的高清视频,例如我们常说的720p和1080p,这种虽然动辄几G的720p和动辄几十G的1080p,在以前的“窄带”网络面前无疑是天文数字,低码流、低画质的RMVB格式和网络的FLV格式才得以迅速蹿红。
        现如今有高速带宽的保证下,用户和各类视频网站针对当前供求关系都发生了潜移默化的“升级”,用户的升级是需求更高画质的视频,视频网站则提供标清、甚至高清的视频,例如下面图中的几个网站有的提供了480p画质视频,有的提供720p:

迅雷、优酷、土豆均有高清频道

        当高清视频发迹史,引发了显卡全面升级(特指高清播放能力),而现如今网络高清视频也将崛起,那么显卡是否也会相辅相成的推出相关功能和技术呢?
        答案当然是肯定的,不过此时并不需要显卡在架构和功能上做出升级,而是在播放软件以及硬件驱动上做出相对应的升级。我们知道网络视频主要是FlashPlayer播放,其视频格式在上传后会转码为更有利于网络传播的FLV格式。
        现在我们需要解决的是,就是让Adobe FlashPlayer支持目前图形核心在高清视频上的解码技术,其次硬件驱动上添加对Adobe FlashPlayer的视频解码支持。
了解硬件加速 了解DXVA与FlashPlayer关系
        用户对视觉体验的逐步加强产生了需求,而作为主导Flash以及FlashPlayer的Adobe顺应用户需求推出了相关产品的升级,即FlashPlayer 10.1应运而生。
        在了解Adobe FlashPlayer 10.1之前,首先让我们了解一下DXVA。那么DXVA是什么?DXVA有什么用?DXVA和我们要了解的FlashPlayer又有什么关系?
☆ DXVA是什么?
        DXVA英文全称DirectX Video Acceleration,中文译为视频硬件加速。
        DXVA是微软公司专门定制的视频加速规范,它共有两个版本,分别是DXVA 1.0和DXVA 2.0。DXVA规范不仅仅是在视频播放过程中的解码计算规范,其还有与视频后期处理息息相关,例如反交错、色彩空间转换或图像缩放等等。
☆ DXVA有什么用?
        视频解码对于我们普通用户来说可以分成两类,一类是以CPU为核心的软件解码,另一类就是目前主流的以GPU为核心的额硬件加速解码。
        就目前来看,二者各有利弊。
        软件解码好处是,第三方软件解码器齐全通用性高,使用CPU来作为解码核心能够满足几乎所有的视频解码。而坏处也显而易见,在一台CPU性能较弱的平台上,尤其是在看高码率的高清视频时,CPU由于线程数和自身架构导致的效能上不足,视频画面卡、顿、慢成为不可避免的结局。
        硬件加速解码好处是,目前主流显卡都能够很好的支持主流视频格式解码,尤其是在图形核心采用统一架构后,利用图形核心的并行架构设计,在H.264和VC-1格式高清视频上有绝佳的支持效果。弊端是,硬件解码受限视频播放总体流程,尤其是后期处理部分。所以很多追求最终画质效果的高清发烧友,宁可放弃硬件(GPU)加速解码的几倍性能,而选择基于CPU的软件解码。

☆ 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阶段,后期正式版以及显卡驱动的进一步优化,会有更好的使用效果。






NVIDIAFlash 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将成为起步(迅雷高清频道推荐带宽)。
作者: majiaguizi    时间: 2010-1-4 17:23
行是行~可我家的网速~悲剧啊




欢迎光临 热点科技 (https://itheat.com/activity/) Powered by Discuz! X3.2