使用抽取优化混合性能
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
重要
本部分所述的优化高度依赖于基础硬件。 除非你可以保证应用程序将使用哪种类型的图形硬件,否则它可能会严重降低视频图像的外观。
HDTV 需要大量的处理能力,而较新的系统上的处理能力主要由图形卡提供。 但是,即使图形卡且解码器可以支持 1920x1080 的分辨率,用户也可能不会始终将其监视器设置为此分辨率。 在这种情况下,图形芯片需要创建一个 1920 x 1080 的图像,然后在将其发送到帧缓冲区之前降低分辨率。
由于这是对处理能力的浪费,因此 VMR 提供了一种在图像呈现到 DirectDraw 图面时对图像进行 (减少) 的方法。 如果图像在呈现后必须调整其大小,则无需额外的内存副本。
VMR-7: 若要启用抽取,请使用 MixerPref_DecimateOutput 标志调用 IVMRMixerControl::SetMixingPrefs 。
VMR-9: 若要启用抽取,请使用 MixerPref9_DecimateOutput 标志调用 IVMRMixerControl9::SetMixingPrefs 。
在连接 VMR 之前,必须调用 SetMixingPrefs 方法。 图形运行后,无法更改混合首选项标志。
相关主题