使用 LWJGL 时是否需要使用 glDelete*

Is the use of glDelete* necessary when using LWJGL

我目前正在做一个涉及 LWJGL 的项目。我知道在 C 和 C++ 中,应该调用诸如 glDeleteBuffersglDeleteVertexArrays 之类的函数来释放内存。然而,Java 有一个垃圾收集器,这通常意味着当 JVM 关闭时所有内存都被释放。 使用Java时是否需要调用glDelete*? 也许我应该只为不再需要的对象调用这些函数来提高性能。

OpenGL 对象不是 Java 的垃圾收集方案的一部分,我的理解是 LWJGL 没有尝试将它们包装在可以自动收集它们的东西中(因为那会非常困难) .

任何你不删除的 OpenGL 对象最终都会在你的程序终止时被销毁,所以主要的问题是如果你 运行 你的应用程序在一段时间内删除了你不删除的东西'不要在地板上使用而不是删除它们。对于只是在开始时加载一些东西的简单应用程序 运行,这很好。对于任何非常复杂的事情,您将不得不花时间删除您不使用的对象。