我制作了一个光线转换引擎,它有一些速度减慢。我以前从来不需要进行分析,只需一步步调试。我使用了 JProfiler,据我所知,问题似乎是等待/阻塞线程。我不知道为什么会发生这种情况。如果有人可以看一下代码并给我一些提示,我将非常感激。代码是英文的,但一些注释仍然是法文的(翻译正在进行中)。我试图使代码尽可能明确,但如果有什么你不确定的地方,我会解释一下。我不太熟悉线程如何工作,但我相信与它们相关的所有内容都在“控制”包中。有很多类,所以我没有在这里发布代码,而是将所有内容放在 github 上:
https://github.com/Thormind/Raycasting-engine.git
这是线程分析的图像。除此之外,其他一切(内存、CPU)似乎都很好。
最佳答案
转到调用 TreeView ,记录 CPU 数据并将线程状态选择器设置为“阻塞”,然后您会看到阻塞发生在哪些调用堆栈中。
“监视器和锁定” View 部分提供了阻塞情况的详分割析。
关于java - Java 分析新手,我似乎对线程有疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62434328/