如何使用消息队列分析 GUI 应用程序?

How to profile a GUI application with a message queue?

我想分析一个使用消息队列的 GUI 应用程序。在探查器结果 window 中,我看到 80% 的样本都在消息循环处理代码中。是否可以通过某种方式过滤掉我只看到我可以影响的代码的结果?

我正在使用 Visual Studio 2013 C++ 分析器。

我可能会做的是获取每个事件处理程序并在其中放置一个临时的外部循环,使其花费比正常情况下更长的时间。 它需要 运行 足够长才能使用 manual sampling

这允许在事件处理程序中找到任何可能的加速。 修复后,去掉外层循环,代码就飞起来了!