我正在使用 opengl es 1.x 在 Android 平台上制作游戏(和游戏引擎)。在加载关卡数据并构建它时,我想渲染另一个场景,以便玩家可以在关卡加载代码工作时看到一些东西。我想到使用一个钩子(Hook)系统,其中关卡加载代码会不时调用一个回调函数,以便进行一些渲染。
问题是如何手动让 OpenGL ES 显示后备缓冲区的内容,因为关卡加载代码是在 opengl 线程上执行其工作,因为它也使用 opengl es 调用来执行其工作?
非常感谢任何建议, 谢谢
最佳答案
您可以尝试执行相反的操作,让加载代码调用渲染代码(当帧之间有一段时间时,让渲染代码调用加载代码)。将加载划分(并征服)为尽可能小的部分(仅读取图像缓冲区的 100 字节等),并调用通用的 load() 方法,该方法将在返回之前执行尽可能少的工作,然后如果在渲染下一帧之前有时间再次调用,请再次调用并迭代,直到时间不足(以保持一些目标 fps)。 只有当您可以将几乎所有加载分成小块并为加载“任务”创建一个队列时,这才有效。
关于java - 在Android上执行长CPU进程时渲染opengl es,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9857295/