Java 是什么导致我的LWJGL程序中的低帧率?

Java 是什么导致我的LWJGL程序中的低帧率?,java,opengl,lwjgl,frame-rate,Java,Opengl,Lwjgl,Frame Rate,我正在学习3D图形,所以我想做的是一个简单的Minecraft克隆。在Minecraft中,某些块体类型在每个面上具有不同的纹理。但是,在渲染这些多纹理对象时,这似乎会大大降低帧率。我已经实施了一些措施来控制渲染哪些对象,但问题仍在发生,如本短片所示: 我知道Minecraft只有一个纹理文件,“单个”纹理是用纹理坐标生成的。这可能与此有关吗?先谢谢你 编辑:如果您观看视频,FPS计数器是窗口标题的一部分。我认为您的猜测可能是正确的。如果lwjgl必须一直卸载和重新加载不同的纹理,那么绘制东西将

我正在学习3D图形,所以我想做的是一个简单的Minecraft克隆。在Minecraft中,某些块体类型在每个面上具有不同的纹理。但是,在渲染这些多纹理对象时,这似乎会大大降低帧率。我已经实施了一些措施来控制渲染哪些对象,但问题仍在发生,如本短片所示:

我知道Minecraft只有一个纹理文件,“单个”纹理是用纹理坐标生成的。这可能与此有关吗?先谢谢你


编辑:如果您观看视频,FPS计数器是窗口标题的一部分。

我认为您的猜测可能是正确的。如果lwjgl必须一直卸载和重新加载不同的纹理,那么绘制东西将需要更长的时间。不过,您不必获取所有纹理并将它们放在单个文件中。如果您在不同的文件中有许多纹理,您可以在lwjgl中将它们全部缝合到一个纹理中。

我认为您的猜测可能是正确的。如果lwjgl必须一直卸载和重新加载不同的纹理,那么绘制东西将需要更长的时间。不过,您不必获取所有纹理并将它们放在单个文件中。如果您在不同的文件中有许多纹理,您可以在lwjgl中将它们全部缝合到一个纹理中。

我认为您的猜测可能是正确的。如果lwjgl必须一直卸载和重新加载不同的纹理,那么绘制东西将需要更长的时间。不过,您不必获取所有纹理并将它们放在单个文件中。如果您在不同的文件中有许多纹理,您可以在lwjgl中将它们全部缝合到一个纹理中。

我认为您的猜测可能是正确的。如果lwjgl必须一直卸载和重新加载不同的纹理,那么绘制东西将需要更长的时间。不过,您不必获取所有纹理并将它们放在单个文件中。如果您在不同的文件中有许多纹理,您可以在lwjgl中将它们全部缝合到一个纹理中。

这将是最理想的做法。我该怎么做?我正在使用slick库进行加载。不幸的是,据我所知,无法使用slick进行加载。我没有太多使用它,但据我所知,它只能采取一个单一的文件,并加载到一个纹理。除非我错了,否则使用slick的唯一方法是将您想要的图像加载到java的
BuffereImage
s中,将它们组合成一个图像,然后将该图像保存为新文件,以便您可以使用slick将其加载到纹理中。这是最理想的做法。我该怎么做?我正在使用slick库进行加载。不幸的是,据我所知,无法使用slick进行加载。我没有太多使用它,但据我所知,它只能采取一个单一的文件,并加载到一个纹理。除非我错了,否则使用slick的唯一方法是将您想要的图像加载到java的
BuffereImage
s中,将它们组合成一个图像,然后将该图像保存为新文件,以便您可以使用slick将其加载到纹理中。这是最理想的做法。我该怎么做?我正在使用slick库进行加载。不幸的是,据我所知,无法使用slick进行加载。我没有太多使用它,但据我所知,它只能采取一个单一的文件,并加载到一个纹理。除非我错了,否则使用slick的唯一方法是将您想要的图像加载到java的
BuffereImage
s中,将它们组合成一个图像,然后将该图像保存为新文件,以便您可以使用slick将其加载到纹理中。这是最理想的做法。我该怎么做?我正在使用slick库进行加载。不幸的是,据我所知,无法使用slick进行加载。我没有太多使用它,但据我所知,它只能采取一个单一的文件,并加载到一个纹理。除非我错了,否则使用slick的唯一方法是将您想要的图像加载到java的
BuffereImage
s中,将它们组合成一个图像,然后将该图像保存为新文件,以便您可以使用slick将其加载到纹理中。