midiOutPrepareHeader、midiInPrepareHeader 只是设置一些数据字段,还是做一些更耗时的事情?
我正在尝试决定是根据需要构建和销毁 MIDIHDR,还是维护它们的池。
你真的只有两种方法可以告诉(没有 Windows 源代码):
1)对其进行概要分析。根据您对所需时间的调查结果,设置一个仅调试范围的计时器,当它突然花费的时间超过您认为您的应用程序可以接受的时间时进行记录,或者执行您的池解决方案。虽然文档说一旦你调用准备函数就不要修改缓冲区,而且如果你想重新使用它,你可能必须修改它。如果您提出的解决方案可行,我对文档还不够熟悉,无法说出一种或另一种方式。
2) 逐步检查组件并查看。不要害怕。获取 MSFT公共符号,看看它是否看起来只是在填写字段,或者它是否正在做一些复杂的事情。