发布网友 发布时间:2024-10-21 18:58
共3个回答
热心网友 时间:4分钟前
本来有一些程式上算法需要我们自己算,但硬件如果支持,就可以把这部分交由硬件来帮你计算,硬件的运算速度远高于我们写的程式演算法。
比如现在的3D显示卡,它有硬件加速,它的加速就是帮我们计算那些3D里面必要的处理,比如:纹理映射、滤波等等。
DXVA是视频硬件加速的统称,不仅仅是视频数据解码(包括H261,MPEG1,MPEG2,H263,MPEG4), 还有Alpha blending, Picture resampling等。但对于播放时CPU利用率影响最大的,则是视频解码,尤其是HDTV的解码。对于低端系统来说,让GPU来负责硬件解码是不二之选。但使用硬件解码,在整个功能上也受到很多,尤其是解压以后的视频数据的后期处理(如deinterlace,锐化,去马赛克). 因此对于追求画质的烧友,宁可放弃硬件解码,当然代价是需要升级整个系统。稍后再谈。
硬件解码生效的时候,系统是怎么运转的呢?现在我们有两个处理器,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和显存只好放弃。
热心网友 时间:9分钟前
如果把显卡的硬件加速调低的话可能玩游戏的时候感觉会很不爽,你可以把播放器的硬件加速调到无,这样就不会干扰运行其他程序时候显卡的发挥。播放器一般都会有这样的选项,还有,如果你用P2P看电影的话,就去到该P2P软件设置中去找默认的播放器,这样就可以弄清楚是哪个播放器了,然后针对该播放器进行设置显卡加速调试。希望我说的你能懂~~
热心网友 时间:2分钟前
显卡有问题,估计是显存或者电容暴浆,暴浆的话自己换几个就行,显存吗,如果没过保修就送回原厂,过了的话可以到二手市场找找有没有修显卡的,把坏了的显存片子换一个,然后再注意一下散热,应该就没事了。
显存问题多是由于频率过高或者散热不好导致的,这方面买几个散热片贴上就行了。几块钱的事