Sco*_*hio 5 windows hardware audio video
对于实时多媒体任务,低延迟是必不可少的。例如,稳定的低延迟值使得使用计算机制作音乐成为可能。
据我所知,在Windows系统下,有一个DPC延迟的东西,对于保证延迟的稳定性是非常关键的。您可以在此处阅读有关延迟过程调用的更多信息:http : //en.wikipedia.org/wiki/Deferred_Procedure_Call。
正如您在Thescyon 网站上所读到的那样,
如果 Windows 系统中的任何内核模式设备驱动程序未正确实现并导致延迟过程调用 (DPC) 的延迟过大,那么当您使用实时音频或视频流应用程序时,可能会发生丢失。
他们提供了一个简单的工具来检查这个,它绘制了一个延迟图。当您想测试 Windows 计算机的专业音频时,您应该运行此 DPC 延迟检查器并强调可能导致问题的组件。例如,当我测试笔记本电脑时,我会检查当你
等等。
我的问题是,如果我想自动检查以上内容,我该怎么办?我想开发一个可以测试这个并生成报告的工具,这样我们就可以在短时间内测试很多配置。(我的问题:我不知道如何测量 DPC 延迟以及如何通过代码等自动控制亮度。)
背景:我买了一台应该非常适合制作音乐的笔记本电脑 - 但事实并非如此,因为它会产生几乎不合理的延迟问题。事实上,我已经向 Focusrite 支持咨询了几个月,但我们未能解决问题。所以我想通过创建一个易于使用的测试工具来帮助音乐家进行选择,该工具可以清楚地表明计算机是否正常。或者更好的是,使用 DPC 延迟信息创建一个最新的公共数据库。
请支持这个问题以提高 DPC 意识 - 我们确实需要让制造商知道,对于任何对 Windows 系统上的多媒体感兴趣的人来说,这是一个真正的问题。
您的问题有几个问题。
首先,您无法真正检查 DPC 延迟。您可以将自己的 DPC 排队,然后检查其执行时间。或者您可以查询所有 DPC 的运行时间(我不知道您是否有相关的性能计数器信息,或者是否必须进行基于样本的分析)。
即使您有这些信息,它也是针对您所处情况的。此外,还有一些随机因素会导致数字出现偏差。
DPC 排队到全局 DPC 队列中,并且可以在任何处理器上运行。因此,如果您确实在一个核心上有一个长时间(运行)的 DPC,则另一个核心可以自由地处理另一个核心。因此,任何计时信息实际上都取决于您拥有的处理器数量以及当前同时执行的事物数量。因此,在多核处理器上,这些数字可能会有很大差异。
即使您拥有有关一种用例的信息,这也很大程度上取决于系统的当前情况。当它连接到(大型)网络时,可能会为您的计算机接收的网络数据包引发很多小型 DPC。当您拔掉计算机电源(或每个人都回家)时,这场 DPC 风暴突然停止。
注意:当您拥有一台新计算机时,您的 DPC 延迟问题可能源于处理器休眠的 c 状态。Core-iX 处理器确实很快进入休眠状态,但从休眠状态唤醒的速度却非常慢。
归档时间: |
|
查看次数: |
1858 次 |
最近记录: |