Java 在Android上执行长cpu进程时渲染opengl es

Java 在Android上执行长cpu进程时渲染opengl es,java,android,opengl-es,Java,Android,Opengl Es,我正在使用OpenGLES1.x在Android平台上制作一个游戏(和游戏引擎)。在加载关卡的数据并构建它时,我想渲染另一个场景,这样玩家可以在关卡加载代码工作时看到一些东西。我曾想过使用一个钩子系统,在这个系统中,级别加载代码会不时调用一个回调函数,以便进行一些渲染 问题是如何手动让OpenGL ES显示backbuffer的内容,因为级别加载代码正在OpenGL线程上执行其工作,因为它也使用OpenGL ES调用来执行其工作 非常感谢您的任何建议, 谢谢您可以尝试执行与加载代码调用呈现代码相

我正在使用OpenGLES1.x在Android平台上制作一个游戏(和游戏引擎)。在加载关卡的数据并构建它时,我想渲染另一个场景,这样玩家可以在关卡加载代码工作时看到一些东西。我曾想过使用一个钩子系统,在这个系统中,级别加载代码会不时调用一个回调函数,以便进行一些渲染

问题是如何手动让OpenGL ES显示backbuffer的内容,因为级别加载代码正在OpenGL线程上执行其工作,因为它也使用OpenGL ES调用来执行其工作

非常感谢您的任何建议,
谢谢

您可以尝试执行与加载代码调用呈现代码相反的操作(在两次调用之间有一段时间时,让呈现代码调用加载代码)。将加载分成尽可能小的部分(仅读取100字节的图像缓冲区等),然后调用一个通用load()方法,该方法将在返回之前尽可能少地执行工作,如果在渲染下一帧之前有时间再次调用,再次调用它并迭代,直到您的时间不足(以保持一些目标fps)。 只有当您可以将几乎所有的加载划分为小块,并为加载“任务”创建一个队列时,这才能很好地工作