DXVA是视频硬件加速的统称,不仅仅是视频数据解码(包括H261,MPEG1,MPEG2,H263,MPEG4), 还有Alpha blending, Picture resampling等。但对于播放时CPU利用率影响最大的,则是视频解码,尤其是HDTV的解码。
硬件加速播放的工作原理3
最后回到主题,低端系统要放HDTV流畅,多半需要借助于显卡硬件解压。几个注意事项
1. 视频格式要mpeg2,显卡GPU才能协助解压 (WMV目前没有硬件解压方案)。【注:2005年5月微软终于放出了WMV硬件解码补丁,但对显卡和系统要求颇高,且不少中低端系统上效果不明显甚至更差】
2。显卡及驱动要支持mpeg2硬件解压。
3。视频解码器要能把mpeg2解压工作分担给显卡
4。视频渲染器要用overlay,不要用VMR
5. 字幕要用播放器自带的,绝对不能用vobsub。 不用字幕最好啦。
6. 不能用ffdshow, nvvpp等软件视频后期处理,要用显卡里自带的后期视频处理(虽然可能烂了点)。
7。KMP必须用极速、高速模式
8。硬件方面,最好不要用多头显示(overlay对多头显示支持不好,VMR支持好但开销大)。如果需要多头显示,再加上很多人依赖的字幕,你可能被迫使用软解压或VMR,一个相关案例在此
http://www.silu.info/read.php?tid=20851
9. 硬件方面,PCI显卡因为是诸多设备共享PCI总线,带宽也只有133MB/S,尽可能不要用(虽然压缩视频数据流一般也就是10-20MbpS). AGP是独享且至少是266MB/S(AGP1X),但有可能的话还是应该优化一下,比如打开FastWrite, SideBandAddessing什么的,只要系统稳定。PCIE? 低端系统会有PCIE吗?
如果你不确定现有的配置是否能够使用硬件解码,建议在调整的时候使用NVIDIA decoder, 它可以明确指示是否工作于硬件解码方式下。调整好了,你可以再改回你喜欢的硬件解码器,如sonic, cyberlink等。
还有一点很重要的,就是强烈不建议用大杂烩似的解码器包比如暴风影音等,里面很多的滤镜会把directshow架构弄得非常复杂,如果你不确定某个滤镜的作用而安装了,可能会严重干扰你的系统。建议重新安装windows系统,然后只安装你需要的播放器和滤镜。
关于DXVA 硬件加速解码的框图,从DXVA 官方文档里摘出来。
我的理解:
Host指的是CPU和操作系统,Accelerators是显卡GPU。
二者通过PCI/AGP/PCIE总线交换数据。
网友评论