OpenGL应用程序中的Java线程

时间:2012-07-17 10:40:47

标签: java multithreading opengl

我想知道是否可以在Java中执行以下操作。我正在使用LWJGL包装器处理基于Java的OpenGL应用程序。在每个帧渲染完成的渲染循环中,我保存了像素GL框架进入图像文件。问题是框架的大小有时非常大,在将像素写入文件到渲染循环的下一次开始时会产生明显的开销。我认为要做的是以下内容:

  1. 在帧渲染完成时,从帧缓冲区中读取像素。
  2. 在处理图像文件的类上启动新线程 写入。
  3. 我想知道这种技术是否有任何帮助?如果在单独的线程上完成,下一个渲染循环是否会在没有等待图像文件的情况下启动?线程是否可行?我想要实现的是GL渲染循环不应该等待文件写入,而是在每个渲染循环结束时将新像素数据提取到文件写入对象中时继续渲染。

1 个答案:

答案 0 :(得分:3)

编写如下的线程类来运行单个正在运行的线程。

public class WritePixelsToImageThread extends Thread { 

    public void run(){
        // place your code here for
        // read pixels from Frame and write that image.
        // this is an individual process
    }
}

启动该线程后

new WritePixelsToImageThread().start();