硬件加速是指在
计算机中通过把计算量非常大的工作分配给专门的
硬件来处理以减轻
中央处理器的工作量之技术。尤其是在图像处理中这个技术经常被使用。
处理器
硬件加速英文名Hardware acceleration;
硬件解码生效的时候,系统是怎么运转的呢?硬件有三个
处理器,CPU、GPU和APU(不是加速处理器是声音处理器)。他们通过PCI/AGP/PCIE
总线交换数据。
1.CPU从
文件系统里读出原始数据(DirectSHow的源滤镜),分离出压缩的视频数据(分离器)。放在
系统内存中。GPU、APU不运行。
2.CPU把压缩音视频数据交给GPU、APU, 这时总线上开始忙了,压缩数据从
系统内存拷贝到显卡上的显存里和声卡上的
声存里(如果有的话)。
3.CPU要求GPU、APU开始
硬件解码,CPU不运行,GPU、APU开始忙。当然CPU会定期查询一下GPU、APU忙的怎么样了。
4.GPU、APU开始用自己的电路解码视频数据(已经在显、
声存里了),解压后的数据还是放在显声存里面。
5.音视频数据刚解码完成以后还不能立刻拿去播放,因为还需要后期处理,如deinterlace, 3:2pulldown,多普勒效应,等等。GPU、APU再用自己的后期处理电路来进行处理。
6.后期处理以后的未压缩数据拿去播放, GPU再开始忙视频的缩放,亮度,gamma等事情。CPU还是闲。
7.GPU、APU终于忙完了,下面的视频数据在哪里?通知CPU,GPU、APU先歇会。 CPU又开始忙了,回到第1步。
技术
中央处理器的结构使得它能够在短时间内完成各种各样不同的指令。它能够处理什么指令主要由软件限制。但是由于
中央处理器的结构有些重复任务无法非常有效和迅速地被处理。由于软件的原因
处理器优化的可能性有限。
通过使用专门为这样的重复任务设计的特殊硬件元件(芯片或者
处理器)可以解决这个问题。这些特殊硬件元件不必像
中央处理器那样灵活,因此它们的硬件设计就已经顾及了优化处理这些特殊问题的需要,这样一来中央处理器有时间去处理其它任务。
有些任务能够通过把它们分解为上千小任务非常有效地被解决。
比如对一定的频率带做傅里叶变换或者渲染一小块图像。这些小任务可以互相之间不相关地平行计算。通过大量平行计算,即适用大量平行运行的小
处理器来处理这些特殊任务总的计算速度可以大大提高。在许多情况下计算速度随平行
处理器的数量线性提高。
比如在GeForce 200图像卡上192个流
处理器平行运行。
从有效利用能源的角度出发这样的平行计算也有意义。能源使用随平行
处理器的数量线性提高,而随处理器频率成平方比提高。因此通过
平行运算处理器的频率不必过高,使用的能量也比较少。
应用
上面可以看到,
硬件解码生效的时候,CPU真的可以很闲,但是为了让它生效,有些条件必须满足。最关键的原因是,CPU->系统内存、GPU->显卡显存APU->声存比起来,PCI、AGP、PCIE
总线是龟速。PCI是133MB/S, AGP8X是2.1GB/S, PCIE16X是4GB/S, 而CPU-
系统内存,GPU-显存则快若干倍,APU->声存快一些。有兴趣的可以把不同时代的内存
总线和AGP/PCIE总线速度进行一下对比。因为CPU和GPU互连的
总线很慢,因此,视频数据(无论是解压前还是解压后)一旦交给GPU、APU,GPU、APU就要负责把它处理完,直到最终显示。
如果在前面1-5步里有哪一步GPU、APU->声存不能做或你不让它做,视频
硬件解码就不生效,CPU要负责。
当然,你可能会问,也许CPU很慢,说不定在龟速
总线上传输数据,GPU、APU分担一部分工作,还是比全部CPU做要快呢?也许如此,但在Directshow架构里,代表视频
数据处理各环节的
滤镜(分离器,解码器,后期处理,渲染器)需要协商出一个大家都接受的视频数据存储方式,如果某个滤镜说我只能在
系统内存声存只好放弃。
计算机显示使用硬件加速会快些,但会在投影仪或截图时发现显示区是黑的,这时就要关闭硬件加速(硬件加速反方向操作)。步骤是:
XP更改硬件加速:
显卡:右击
桌面--显示属性--设置标签中的高级--疑难解答--把硬件加速滑块从“无”拖动到“全”
在“音频”选项卡上的“录音”下的“默认设备”列表中,单击想使用的录音设备,然后单击“高级”。
在“高级音频属性”对话框中,可以给声音硬件加速和音频速率转换配置性能设置
Windows Vista 下,更改显卡硬件加速:右键单击桌面--> 个性化--> 显示属性--> 高级设置--> 疑难解答--> 更改设置、声卡则是默认打开。无法更改。
注意:
1.要支持硬件加速有以下几个要求:
一是必须硬件上支持硬件加速
二是驱动程序必须升级到最新版本
三是你想加速的软件如游戏必须支持硬件加速
2.默认情况下Vista的硬件加速全开,但“更改设置”这一项需要驱动支持,否则将是灰色不可选,这时可尝试进显声卡卡的控制中心去修改(如ATI、NVIDIA、Realtek、IDE)或下载最新的
驱动程序。
另一种临时解决方案是:
(1.) 下载
显卡驱动时候,不要下载for vista 的驱动,选择for XP
(2.) 安装的时候会出现错误提示,这时,先退出安装,转到下载的驱动文件,右键单击,选择属性--
兼容性,在兼容性选项选择XP SP2,这时就可以顺利安装了。
(3.) 装完重启,转到调节
显卡硬件驱动那里,按钮已经可以选择,可以调节。但缺点是可能会丧失Aero等功能。
3D加速
1、3D加速的分类
3D硬件加速:是指借用
显卡的DirectX或OpenGL加速,一般需要显卡支持。
3D软件加速:是指借用CPU加速,效率较低。
2、3D加速的实现方法
在
显卡支持3D加速的条件下,下载安装相应
显卡驱动。
3、3D加速效果
画面细致、细节完美、声音逼真。