multithreading - JOGL - OpenGL 是否使用 AWT 线程来渲染图形?

标签 multithreading opengl rendering awt jogl

我正在用 Java OpenGL (jogl) 制作一个简单的程序。在 display() 方法中,我打印了线程的名称,输出显示它是 AWT 线程。 OpenGL 不使用自己的线程吗?

最佳答案

这主要取决于您使用的版本。

对于早期版本 1.0 和 1.1,jogl 默认使用不同的线程进行渲染。
对于 1.1.1 版,它已切换为默认使用 AWT 线程。

这可以使用 -Djogl.1thread=true 从命令行手动控制。在 AWT 线程或 -Djogl.1thread=false 上强制单线程渲染在 AWT 线程之外强制进行多线程渲染(每个 Canvas 一个)。

较新版本的 Jogl 提供了一个名为 NEWT 的自定义工具包,它将在 AWT 线程之外执行渲染。

Jogl 1.0/1.1.1 线程行为描述如下:http://download.java.net/media/jogl/doc/userguide/在“多线程问题”部分

可以在此处找到有关 NEWT 线程的更多信息:http://jogamp.org/jogl/doc/NEWT-Overview.html

关于multithreading - JOGL - OpenGL 是否使用 AWT 线程来渲染图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7912589/

相关文章:

javascript - onchange 在 SelectBox 中被忽略

html - 在 iOS 中的 UITableViewCell 上渲染 HTML

c++ - '2D' 相机在 OpenGL/C++ 中的移动

Python flask 服务器,如何向另一个请求的线程发送消息?

Java,Threads,只会将 run() block 作为线程的一部分,还是作为 start() 调用后的代码的一部分?

java - Spring ThreadPoolTask​​Executor 永远不会超出 corePoolSize

c++ - OpenGL 渲染到纹理 (FBO) 不起作用

c++ - 画一个不同颜色扇区的圆环

css - Angular JS : Detect when page content has rendered fully and is visible

c# - Automapper Mapper.CreateMap 是线程安全的吗?