【发布时间】:2014-07-12 20:55:20
【问题描述】:
我想截取屏幕。 Libgdx 提供了一些在ScreenUtils 类中定义的函数。
例如final Pixmap pixmap = ScreenUtils.getFrameBufferPixmap(x, y, w, h);
我的问题是获取该信息大约需要 1-3 秒。在此期间,游戏循环被阻塞,用户将其定义为延迟。
在ScreenUtils 类内部,使用Gdx.gl.glReadPixels。如果我在一个线程中运行ScreenUtils.getFrameBufferPixmap 方法,则没有延迟,但它以错误的方法捕获屏幕,这是合乎逻辑的,因为游戏循环运行并更改了内容。
是否有可能复制 GL 上下文或将其保存并在以后借助线程生成 Pixmap?当然复制/保存操作应该立即完成,否则我什么都不留。
我使用ShapeRenderer 将我的东西渲染到屏幕上。
【问题讨论】:
-
抱歉,我不是有意投反对票(意外点击),但我无法撤消。
标签: java android multithreading libgdx