0

我正在为音频文件构建某种扫描算法。我正在使用多个线程来处理它们分配的文件段。性能相当不错,但如果我将它与 Microsoft Media Foundation Transcode API 进行比较,它仍然要慢得多。所以我已经删除了音频帧的处理,所以它只剩下 IO 访问。但它仍然比 MediaFoundation 慢得多。所以我想知道使用 FileStream 读取整个文件怎么可能比使用 MediaFoundation 处理整个文件慢。我查看了使用API Monitor进行的处理,但结果很奇怪:

我在 API 监视器中看不到任何文件系统访问(我已在监视器中打开所有数据访问 API):

在此处输入图像描述

那么有没有更快的 API,开发人员无法使用?我错过了什么?

4

1 回答 1

0

我想请您注意 Windows - MMCSS的多媒体类调度服务 (MMCSS) 。MediaFoundation 是针对媒体内容处理进行了优化的媒体框架。因此它可以使用特定的优化模式处理读写。MMCSS 具有下一个名称 - 模式:音频、捕获、分发、游戏、播放、专业音频、窗口管理器

MediaFoundation 通过 MFAllocateWorkQueue 创建 WorkQueue 并通过 MFBeginRegisterWorkQueueWithMMCSS 执行 任务

于 2016-05-21T12:54:52.277 回答