IReferenceClockTimerControl 接口 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
接口 IReferenceClockTimerControl
更改引用时钟使用的计时器周期。 此接口由 DirectShow 系统参考时钟公开。
继承
IReferenceClockTimerControl 接口继承自 IUnknown 接口。 IReferenceClockTimerControl 也具有以下类型的成员:
方法
IReferenceClockTimerControl 接口具有这些方法。
IReferenceClockTimerControl::GetDefaultTimerResolution GetDefaultTimerResolution 方法返回引用时钟请求的计时器分辨率。 |
IReferenceClockTimerControl::SetDefaultTimerResolution SetDefaultTimerResolution 方法设置最小计时器分辨率。 |
注解
默认情况下,DirectShow 中的系统引用时钟将计时器周期设置为计时器允许的最小值。 通常,此值为 1 毫秒。
计时器时间段是 Windows 中的全局设置。 更高的分辨率可以提高等待函数中超时间隔的准确性。 但是,它也可能会降低整体系统性能,因为线程计划程序更频繁地切换任务。 高分辨率还可以阻止 CPU 电源管理系统进入节能模式。 设置更高的分辨率不会提高高分辨率性能计数器的准确性。
此接口main的目的是替代引用时钟的默认计时器设置。 为此,请调用值为零的 SetDefaultTimerResolution 。 这可能会导致计时器分辨率降低,这可能会使用户的计算机进入省电模式。 (实际行为取决于许多其他因素,例如正在运行的其他进程。) DVD 导航器 筛选器使用此接口,如此处所述。
如果 DirectShow 筛选器需要更高的计时器分辨率,则应调用 timeBeginPeriod。 通常,此要求仅适用于呈现器筛选器。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |