什么是硬件加速功能?

数智人2024-01-09产业问答59
简而言之,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。 硬件解码生效的时候,系统是怎么运转的呢?现在我们有两个处理器,CPU和GPU。他们通过PCI/AGP/PCIE总线交换数据。 1。CPU从文件系统里读出原始数据(DirectSHow的源滤镜),分离出压缩的视频数据(分离器)。放在系统内存中。 GPU 发呆 2。CPU把压缩视频数据交给GPU, 这时总线上开始忙了,压缩数据从系统内存拷贝到显卡上的显存里。 3. CPU要求 GPU开始硬件解码,现在 CPU进入发呆期,GPU开始忙。当然CPU会定期查询一下GPU忙的怎么样了。 4。GPU开始用自己的电路解码视频数据(已经在显存里了),解压后的数据还是放在显存里面。CPU继续发呆。 5. 视频数据刚解码完成以后还不能立刻拿去显示,因为还需要后期处理,如deinterlace, 3:2pulldown,等等。GPU再用自己的后期处理电路来进行处理。CPU还是发呆 6。后期处理以后的未压缩数据拿去显示到屏幕上, GPU再开始忙视频的缩放,亮度,gamma等事情。CPU还是闲 7. GPU终于忙完了,下面的视频数据在哪里?通知CPU,GPU先歇会。 CPU又开始忙了,回到第1步。 上面可以看到,硬件解码生效的时候,CPU真的可以很闲,但是为了让它生效,有些条件必须满足。最关键的原因是,与CPu->系统内存和GPU->显卡显存比起来,PCI、AGP、PCIE总线是龟速。PCI是133MB/S, AGP8X是2.1GB/S, PCIE16X是4GB/S, 而CPU-系统内存,GPU-显存则快若干倍。有兴趣的可以把不同时代的内存总线和AGP/PCIE总线速度进行一下对比。因为CPU和GPU互连的总线很慢,因此,视频数据(无论是解压前还是解压后)一旦交给GPU,GPU就要负责把它处理完,直到最终显示。 如果在前面1-5步里有哪一步GPU不能做或你不让它做,视频硬件解码就不生效,CPU要负责。 当然,你可能会问,也许CPU很慢,说不定在龟速总线上传输数据,GPU分担一部分工作,还是比全部CPU做要快呢? 也许如此,但在Directshow架构里,代表视频数据处理各环节的滤镜(分离器,解码器,后期处理,渲染器)需要协商出一个大家都接受的视频数据存储方式,如果某个滤镜说我只能在系统内存里玩,大家都得要在内存里玩,GPU和显存只好放弃。 原文链接:https://shuzhiren.com/post/91611.html
标签: 硬件加速

相关文章

硬件加速什么意思

硬件加速的原理请见百度百科-硬件加速,里面说的很详细,就没必要在这里多言了简单来讲,是通过硬件加速使硬件达到最高性能,但有时硬件加速也会使视频或截图时发生异常,不过一般都可通过合适的驱动程序解决。...

请问,硬件加速是怎么回事

你问的问题不是很明确。通常硬件加速在电脑里比较常见。 所谓硬件加速是指该设备有数据处理功能,相应的软加速是指该设备把数据处理的任务交给cpu(相对与电脑来说)。硬件加速的效果是提升数据处理速度提高数...

高配置电脑开启硬件加速和不开启有什么区别吗

其实就是用硬件运算代替软件运算,提升是有,但幅度可以忽略,而且你的配置基本可以达到完全不用理会这个选项的状态了...

硬件加速是什么?有什么用??

硬件加速是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性 桌面右建→属性→设置→高级→疑难解答→把那个条拉倒左边 关闭硬件加速的方法是:控制版面---声音和音频设备--音量--扬声器设置--...

显卡硬件加速开与不开的区别

按我个人的话说现在一些游戏支持物理加速,单靠CPU的运算能力远远不够。所以用GPU帮忙运算一些 这就是所谓的物理加速简而言之,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。硬件...

什么叫硬件加速?

硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。