如何在程序执行期间检查正在创建/删除哪些线程?

时间:2012-05-31 22:21:22

标签: multithreading frame-rate

我为自己的无知而道歉,但我对基本如何工作没有任何了解。我正在编写一个吉他英雄,我意识到我加载的第一首音乐,我获得了巨大的性能下降。如果我重新启动相同的音乐或加载另一个音乐,那就没关系。

所以我认为它应该是与资产创建相关的东西,我忘了预装。我运行了gDEbugger,结果是当fps开始下降时,它会打印出一个荒谬的“Thread Created / Thread Terminated”。当这些消息停止游戏时,fps再次上升。问题是:如果我的游戏正在创建这些线程我不知道为什么,我只创建一个用于加载资产的线程,我开始加载资产并在完成时停止。也许我正在搞乱这个话题。 gDebugger的字段包含有关线程的信息,就像dll创建它一样,但是所有字段都填充了“N / A”。

我想到的一种可能性是GLee(我用于opengl扩展)正在创建它们。但我不知道如何看待它。我希望有人知道调试这些线程的工具。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您认为它可能是GLee,并且如果GLee与您正在加载的音乐资产无关,请尝试删除该代码并检查线程创建消息是否消失。

实际上,您可以将此方法用于其他库,以通过实现带存根的接口或注释掉部分代码来缩小它的强制风格。