我使用glm和glut将一个体积渲染器从c ++移植到LWJGL,java。体积渲染器使用具有3d纹理的着色器。 出于某种原因,虽然fps坚持~35 fps。我尝试修剪着色器,但它对fps没有任何影响。
Profiler输出:
Java类: http://pastebin.com/K61mcWzL
可能是限制因素是对3D体积的调用,由于体积庞大,可能存储在全局内存中?这将是奇怪的,因为我显着减少了对音量的调用次数,然后应该导致更高的fps,但事实并非如此。
编辑:此外,Netbeans探查器不会给出每帧的时间,而是显示总计时间。它确实给出了样本数量,但是根据我的计算将时间除以样本给出了大约10 fps(即display()下面有16个样本)。如何获得Netbeans Profiler的每帧准确时间? (与此问题相关)
答案 0 :(得分:0)
我认为问题在于每个帧都会获取统一的位置,这比在开始时获取它们慢得多,并且只在它们发生变化时再次获取它们。
现在以120 fps运行:)