电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2934 人浏览分享

HTPC详解(十一)HTPC知识普及第十讲 NVIDIA CUDA解析

[复制链接]
2934 2
上次的第九讲中说道一个CUDA。然后就有同学传纸条上来问这个CUDA的知识点能不能具体讲讲呢?同学,下次有问题直接说出来,不要传纸条,老师小时候受过创伤:在和同学传纸条的时候被老师抓住,罚抄整本语文书一遍。题外话,现在正式上课。



LESSON 10

    老师已经上了九讲的课:我们从HTPC的基础开始说起,介绍了软件硬件,片源组建,从这讲开始要说说如何用好HTPC呢?


一,片源

    说句实话,HTPC的发展比我想象中的慢,原因还是多方面的,片源是其中之一。片源问题,是HTPC普及的关键,只有有大量的片源大家才会说想要去弄一台这样的PC来看片。我们国家的中西部一些地方,有的人连电脑是什么都不知道你和他谈HTPC这样东西,是没有意义的。在上海,HTPC也仅仅是一部分玩家热衷的产品,离主流还差得很远。


    “那么就是‘非主流’咯?”
    ”这位同学,请下次插嘴之前先举手。”

    从普及的角度来说的确是“非主流”。在上海各大电脑卖场里面HTPC的配件和机箱也只能在发烧级的店家里面得以看到。高清的片源无外乎就这几个途径:正版碟片和网上下载


    正版的BD在以前上海传说中的淘碟圣地:“DZMZ”(已与两年前拆除)笔者曾经见过50一张的BD正版碟片。看内容应该是第一批的BD碟片,在国外卖得不好当做洋垃圾处理进中国的。当做测试碟片还是可以的,但是收藏就免了。关于这个DZMZ要说起来说个几天都说不完,以前发烧的时候和朋友周六早上8点过去等开门...


    而正版的BD影片从卓越亚马逊来看最便宜的也要CNY125,实施成本过高。

    另一个途径就是通过网上下载。相关的网站有很多:思路HD,MYSILU,CHD,HDC等等。不过1080P的remux容量实在是过于巨大,动辄20G+的容量让“小水管”们非常痛苦。电信网通说扩容已经不是一年两年了,但是一直光打雷不下于。退而求其次,老师推荐大家去下载720P的影片,虽然拉伸到全屏会有差别,但是也能够让大家能够满足“温饱”。720P影片容量一般控制在4.5G左右。挂几个小时就能完成。老师要说的网络下载影片是灰色途径,是不合法的,如果有可能请尽量购买正版影片。

二,播放软件


    目前播放软件比较流行的是POWERDVD和KMPLAYER,前者适合初学者,后者适合于老鸟级的用户。听说WINDVD也推出了PRO 2010版,有兴趣的同学也可以去尝试一下。但是笔者喜欢的是集成众多插件的“终极解码”,这不是一个播放软件,而是将众多视频音频解码插件做了个集合,加载于MEDIA PLAYER CLASSIC ,KNPLAYER和WINDOWS MEDIA PLAYER三种播放器。类似这样的播放器还有“完美解码”。



    初步开始接触终极解码的时候会被它的解码中心密密麻麻的解码器分离器搞得晕头转向不知所措(这里都以“终极解码2009新春版”为例)。好在作者比较用心得设置了几个解码模式的套件:如果你什么都不懂直接采用“默认解码 自动模式”就能正常播放。


    完美看到的高清影片一般都是以mkv,avi,ts为后缀名出现的。这就是他们的封装格式。正如老师第二讲当中所提到的,封装可以看做为一个容器。音频和视频文件以不同的编码压缩后放在这个容器中。一个封装的文件可以由两个三个甚至更多的分离器将它们分离开,各种分离器有他们自己的特色:有的兼容性较好,有的执行效率较高,有的系统资源占用少。如果分离器用错可能出现大色块,只有声音没有图像或者图像撕裂等现象。同样,解码器也不仅仅是一种。这里要说的一点就是:解码器和分离器并不都是免费软件,他们拥有自己的知识产权。我们能够用上如此功能强大的播放器完全是拜某些破解组织所赐。大家可以通过自身实际情况来找出适合自己的编码器分离器的组合。比如机器配置比较低可以选择“PowerDVD解码 DXVA模式”最节省系统资源,“默认解码 自动模式”或“DXVA解码 自动模式”,是兼容性是最好的。

    在“解码中心”设置画面上那些蓝色字样的都是可选择项目。“H264视频解码器”当中有个叫做“CoreAVC”的字样的,这就是下面我们要说的CUDA在高清解码中的一个体现。


三,CUDA

    CUDA的概念上一讲已经讲过了。在大型的浮点运算上,GPU的能力已经大大超越了当今主流的桌面CPU。你仅仅让你的GPU用来玩游戏未免有些太浪费这些强大的浮点运算能力。我们可以让GPU的浮点运算能力用在大型的科学计算上。听过Folding@home吗?这就是那么一个玩意儿。Folding@home是一个研究蛋白质折叠、误折、聚合及由此引起的相关疾病的分布式计算工程。由史丹佛大学化学系的潘德小组(Pande Group)主持,于2000年10月1日正式启动。Folding@home现时是世界上最大的分布式计算计划,于2007年为吉尼斯世界纪录所承认—摘自WIKI。

    有兴趣的同学可以了解参与下:http://www.equn.com/folding/


    CUDA在这种被称为“分布式计算”的科学研究方法上面成果卓越:

    http://fah-web.stanford.edu/cgi-bin/main.py?qtype=osstats

    足见CUDA的威力。类似的研究还有SETI@homeEinstein@Home ,BOINC等。这些分布式运算为人类的发展作出了贡献。


    那些科学运算离我们消费者还是太遥远,我们需要的是CUDA能够实际为我们做些什么。H.264的CUDA解码就是其中之一。说到这里我们不得不提及CoreAVC这个软件。它是由CoreCodec公司开发的商用软件。从1.9.0.0(2009年2月10日发布)开始支持CUDA。之前CoreAVC一直是一款不错的H.264解码器。在笔者使用的“终极解码2009春节版”就有它的1.8.5版本(不支持CUDA)。最新的“终极解码2009国庆版”已经集成了CoreAVC 1.9.5.0。

    有兴趣的同学可以了解下:http://coreavc.com/ CoreAVC 1.9.5.0 是商用软件(14.95美刀),希望大家可以支持。


    今天我们就调用它来解码H.264编码的高清电影
3.1 准备工作

  下面我们来做准备:首先需要支持CUDA的NVIDIA显卡一张(这位同学,你拿的HD4890虽然很牛叉,但是不支持CUDA,谢谢!)。要求GeForce 8系列、9系列和100、200系列GPU,ION平台,并且最小配备256MB显存的显卡。当然,Tesla 和Quadro这两个专业系列的显卡这里就不提了,它们生来就是做这种事情的。

    CoreAVC 1.9.5.0安装。


记得勾上CUDA。


  因为“终极解码2009新春版”集成的是CoreAVC1.8.5,所以我们要把它替换掉。

  将COREAVC.AX文件复制替换到“终极解码”安装目录下的CODECS文件夹下。


  完成替换。打开COREAVC的设置界面,在最后的“PREFER CUDA ACCELERATION”打上勾。在“终极解码”的设置中心把1.8.5选上(其实已经是1.9.5了,只是这里无法显示)解码器安装完毕!


    安装“国庆版”的同学上面一步跳过(郁闷,老师在说这部分的时候还没有接触到“国庆版”那么高科技的版本。)

  说一下老师的测试平台:

CPU: E5200@3.6G
主板: XFX 680i SLI
内存: GSKILL 2GDDR1066*2
硬盘: WD10EADS*2
WD640AAKS*1
HITACHI 320G SATA*1
WD1600BEVT*1
显卡: XFX9800GTX
电源:  UCP700
软件: FORCEWARE 191.00
终极解码2009新春版
CoreAVC1.9.5



3.2 测试影片
    选取一段H.264编码的影片进行测试。
    这位同学,你拿的是VC-1编码的片子。但是目前为主没有支持CUDA的VC-1解码器,不久的将来肯定会有,希望你可以去开发一个。
    下面开始正是测试。


    大家可以看到在KMPLAYER的文件信息中“输出”一项中并没有出现“DXVA”的字样,说明并没有开启硬件解码。


我们可以看到CPU占有率并不高,平均大概在18%左右


    在右下角会有一个CoreCodec公司的蓝色标志,开启CUDA后会变成绿色。说明CUDA已经打开(只有1.9.0以后的版本才会跳出)。

    整套系统播放同样的影片的CPU软解占有率在55%左右。


硬解码不超过5%


    这是一个趋于中间的成绩。不好也不坏,测试了3部H.264的电影,没有发现CUDA有任何不兼容的情况。接下来我们要测试下功耗如何。
3.3 功耗测试

    CUDA调用的是显卡的浮点运算能力,应该是和跑游戏的情况是一样的。整套系统开OCCT和3DMARK Vantage的功耗在270W左右,我们来看看CUDA运算的功耗的情况。如果功耗过高,那CUDA对于我们的意义也不大,在整台机器性能有盈余的情况下,还不如CPU软解码。只有功耗控制在一定的范围内才有实际的应用意义(这里所说的仅仅是视频解码这个项目,科学计算等项目除外)。


这是系统空载时候的功耗:150.3W


这是开硬件解码的功耗:160.6W


这是开CPU软解码的功耗:173.3W


这是开CUDA解码的功耗:167W

    无疑,CUDA取得了不错的成绩,排名在CPU解码和硬件解码之间。测试期间显卡风扇的转速从40%略微上升至45%,产生的噪音几乎可以忽略。同时也说明了对CUDA运算对GPU的压力不大,起码是对这块9800GTX的压力不大。很想测试下ION平台的CUDA到底是怎么个情况,因为只有低端的GPU才更有代表性。

    比硬解具有更强的兼容性,比软解具有更低的功耗,这是CUDA解码的特点。平心而论,现在的CPU也足够强大,能够流畅软解的配置的用户也不会在乎这多出来的一点点功耗。现在播放软件的日趋成熟使得人们越来越少关心是硬解还是软解。我打开播放器能够直接欣赏到影片就可以了,易用才是王道。CUDA解码H.264的最大的意义其实在于那些CPU性能不强(比如搭载N270的离子平台)的配置。这种配置一般对配置体积有着严格的限制,功耗较大的CPU无用武之地,比如在展台上,一台小小的ITX构架的电脑足够得小巧,足够得雅致。CUDA能够在这样的情况下代替CPU做一些事情。这才是CUDA视频解码的市场!


评论 2

东博工作室 东博工作室  初级会员  发表于 2010-7-27 13:49:47 | 显示全部楼层
学习了 回帖给予支持

鸿利小魏 鸿利小魏  合格会员  发表于 2010-8-20 21:26:12 | 显示全部楼层
{:3_229:}学习支持{:3_229:}

您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

0

粉丝

244

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.