Java raytracer 增加 CPU 使用率

吕克斯

我试图用 Java 实现一个光线追踪器,一切正常。有一次,我正在渲染一个场景,并检查了我的程序的 CPU 使用率。每个虚拟核心都在使用,但整体 CPU 使用率约为 22-23%

我知道当我用 Cinema4D 渲染某些东西时,每个虚拟核心都被 100% 使用。

我怎么能存档呢?它会让我的光线追踪器运行速度提高 4 倍吗?(23% -> 100%)

丹尼尔·A·汤普森

您绝对应该能够达到 100% CPU 使用率,并且在其他条件相同的情况下,这样做应该会导致更快的渲染速度。你显然不是 100% 向我表明你没有创建足够的线程,或者你的线程阻塞了某些东西。

我发现最佳点是每个虚拟核心一个渲染线程。您可以使用 API 来检测运行时可用的内核数量,并生成那么多渲染线程。有关此示例,请参阅我的 java ray tracer

每个虚拟核心都在使用,但整体 CPU 使用率约为 22-23%

我不确定您的意思,但您可能想使用性能分析器深入研究它以更好地了解您的线程如何使用 CPU。理想情况下,您希望您的每个线程一直工作。我使用VisualVM来可视化进程线程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章