我正在为音频文件构建某种扫描算法。 我正在使用多个线程来处理它们指定的文件段。性能非常好,但如果我将它与Microsoft Media Foundation Transcode API进行比较,它仍然会慢得多。所以我删除了音频帧的处理,因此它只剩下IO访问权限。但它仍然比MediaFoundation慢得多。所以我想知道如何使用FileStream读取整个文件比使用MediaFoundation处理整个文件要慢。我已经看过使用API Monitor的处理,但结果很奇怪:
我在API监视器中看不到任何文件系统访问权限(我已打开监视器中的所有数据访问API):
那么有没有更快的API,开发人员无法使用?我错过了什么?
答案 0 :(得分:0)
我想提请您注意Windows的多媒体课程安排服务(MMCSS) - MMCSS。 MediaFoundation是针对媒体内容处理而优化的媒体框架。因此,它可以处理读取 - 使用特定的优化模式进行写入。 MMCSS有下一个名字 - 模式: 音频, 捕获, 分配, 游戏, 回放, 专业音频, 窗口管理器
MediaFoundation通过MFAllocateWorkQueue创建WorkQueue并执行任务 MFBeginRegisterWorkQueueWithMMCSS