c# - 如何在 C# 应用程序中启用 MMCSS?

标签 c# multithreading multimedia

我想尝试多媒体类(class)安排服务 http://msdn.microsoft.com/en-us/library/ms684247(v=VS.85).aspx

我希望它可以通过更好地调度我的线程来减少延迟。

如何在 C# 中完成?

注意:我的应用与多媒体无关,我只需要 MMCSS 的功能。

最佳答案

Each thread that is performing work related to a particular task calls the AvSetMmMaxThreadCharacteristics or AvSetMmThreadCharacteristics function to inform MMCSS that it is working on that task.

您似乎只需要 P/Invoke 这些 API 调用中的一个或另一个。

但是,我怀疑当垃圾收集器介入并把事情搞砸时,所有这些都将是徒劳的。

您是否对应用程序进行了任何分析以了解幕后情况?如果您的应用确实对延迟敏感,那么说实话,C# 可能是错误的语言选择。

关于c# - 如何在 C# 应用程序中启用 MMCSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3101274/

相关文章:

c# - 使用 Newtonsoft 创建无效的 Json - 允许无效的对象?

c# - 我是否需要使用 try catch 或检查 ThreadPool.QueueUserWorkItem 的返回值

java - 同一对象上的同步块(synchronized block)是否真的阻止其他线程执行该 block ?

multithreading - 如果将互斥量放在条件变量之前,那么有多少个线程如何在条件变量上等待呢?

opencv - 如何找到帧类型(i 帧、p 帧、b 帧)?

c# - Microsoft Charts for .Net 4,饼图外观

c# - 如何处理 postgreSQL 中复合类型的变化

c++ - 用于双重检查锁定的正确编译器内在函数?

c - 查询 midiInOpen 上所有 Midi 旋钮的状态

video - 有关 FFmpeg 中使用的过滤帧类型的详细信息