我目前正在研究在使用 LWJGL 的应用程序中使用 Scala 和 Akka。众所周知,您不能真正在应用程序的主线程之外发出 OpenGL 调用。如果我想使用任何参与者进行渲染(例如,一个单一的主要参与者,它会耗尽渲染命令队列,或者有多个参与者可能随时发出任意 OpenGL 命令),这会带来一个问题,因为我还没有看到一种在特定线程上运行任何actor的方法。通过将特定参与者固定到线程,或通过指示参与者在某个时间点在特定线程上运行。(a la Objective-C 的 performSelectorOnMainThread)
有没有办法将“渲染”actor固定到主线程,或者将来某个时候在主线程上运行任何actor,此时它将能够发出OpenGL调用?(甚至是其他一些解决方案,我对想法持开放态度)