我想捕获屏幕。Libgdx提供了一些在ScreenUtils类中定义的函数。
例如,
在内部,
是否可以以某种方式复制或保存GL上下文,并在稍后的时间点使用线程生成Pixmap?当然,复制/保存操作应该立即完成,否则我一无所获。
我使用
例如,
final Pixmap pixmap = ScreenUtils.getFrameBufferPixmap(x, y, w, h);
我的问题是获取这些信息需要大约1-3秒钟。在此期间,游戏循环被阻塞,用户会认为它卡顿了。在内部,
ScreenUtils
类使用Gdx.gl.glReadPixels
。如果我在一个线程中运行ScreenUtils.getFrameBufferPixmap
方法,就不会有卡顿,但是它会在错误的时间捕获屏幕,这是合理的,因为游戏循环会运行并更改内容。是否可以以某种方式复制或保存GL上下文,并在稍后的时间点使用线程生成Pixmap?当然,复制/保存操作应该立即完成,否则我一无所获。
我使用
ShapeRenderer
将我的内容呈现到屏幕上。