【发布时间】:2013-04-23 05:35:02
【问题描述】:
我正在尝试让自己参与到 Libgdx OpenGL 框架中。我使用LwjglApplication 创建了一些简单的应用程序来渲染盒子、一些网格和一些纹理。我遇到了 Aurelien Ribon 的创建刚性 Box2D 物体的应用程序。他使用LwjglCanvas 与Java 的Swing 集成。我尝试自己制作一个,我创建了一个JFrame,然后添加了LwjglCanvas。然后将JFrame的默认操作设置为接近EXIT_ON_CLOSE。
但是,每次我关闭应用程序时,都会记录到我的控制台:
AL lib: alc_cleanup: 1 device not closed.
我不知道这意味着什么,它对我没有任何伤害。我只是想知道这意味着什么。根据LwjglCanvas docs:
All OpenGL calls are done on the EDT. This is slightly less efficient then a dedicated thread, but greatly simplifies synchronization. Note that you may need to call stop() or a Swing application may deadlock on System.exit due to how LWJGL and/or Swing deal with shutdown hooks.
我应该在哪里绑定LwjglCanvas.stop(),应该将它添加到EventDispatchThread 队列还是应该将它绑定到JFrame.addWindowListener?
“AL lib: alc_cleanup: 1 device not closed”到底是什么意思?
非常感谢!
【问题讨论】: