我想试试多媒体类调度器服务http://msdn.microsoft.com/en-us/library/ms684247(v=VS.85).aspx
我希望它能够通过更好地调度我的线程来减少延迟。
如何在C# ?中完成?
注意:我的应用程序与多媒体无关,我只需要MMCSS的功能。
发布于 2010-06-23 12:11:59
执行与特定任务相关的工作的每个线程调用AvSetMmMaxThreadCharacteristics或AvSetMmThreadCharacteristics函数来通知MMCSS它正在处理该任务。
似乎您所需要的只是调用其中一个API调用。
然而,当垃圾收集器介入并搞砸事情时,我怀疑这一切都是徒劳的。
你有没有对这款应用做过任何分析,看看封面下发生了什么?如果您的应用程序确实对延迟敏感,那么老实说,C#可能是错误的语言选择。
发布于 2010-06-23 12:10:08
我不知道在托管应用程序中使用MMCSS有什么意义。毕竟,MMCSS的目的是调整进程的调度优先级,以避免多媒体流处理过程中的中断--我们是在讨论纳秒级的调度。但是,在托管语言中,垃圾收集可以在任何时候发生,可能需要几十甚至几百毫秒,所以我不知道MMCSS将提供什么好处,不会被垃圾收集完全消除。
考虑到这一点,我不希望很快看到MMCSS的托管接口。您当然可以通过P/Invoke访问它,但我不指望它会带来奇迹:)
https://stackoverflow.com/questions/3101274
复制相似问题