Opengl es 只渲染一次OpenGL,而不是每帧渲染一次

Opengl es 只渲染一次OpenGL,而不是每帧渲染一次,opengl-es,opengl-es-2.0,Opengl Es,Opengl Es 2.0,几乎我看到的每一个OpenGL ES示例都涉及到它更新每一帧,即使图像本身没有以任何方式移动 我做了一些测试,我发现只渲染(使用drawArrays等),然后只显示一次渲染缓冲区(这两个操作一起),然后在屏幕上进行更改之前,不要再执行任何一个操作 这是“正常”吗?我只是觉得这没什么用。绘制后,图形将保留在屏幕上,而无需额外的恒定渲染 这可以接受吗?是的,它可以接受并且完全有效。当上下文丢失时,还需要考虑重新渲染。举个例子,使用Android标准OpenGL助手类,有一个选项仅在需要时绘制,而不是

几乎我看到的每一个OpenGL ES示例都涉及到它更新每一帧,即使图像本身没有以任何方式移动

我做了一些测试,我发现只渲染(使用
drawArrays
等),然后只显示一次渲染缓冲区(这两个操作一起),然后在屏幕上进行更改之前,不要再执行任何一个操作

这是“正常”吗?我只是觉得这没什么用。绘制后,图形将保留在屏幕上,而无需额外的恒定渲染


这可以接受吗?

是的,它可以接受并且完全有效。当上下文丢失时,还需要考虑重新渲染。举个例子,使用Android标准OpenGL助手类,有一个选项仅在需要时绘制,而不是在循环中绘制(RENDERMODE_when_DIRTY)。

在什么情况下上下文会丢失?现在,我正在iOS中工作,所以这在Android中可能是一个风险,而不是在iOS中?我相信在iOS上,上下文对象丢失了,但是在后台你不能创建任何OpenGL。同时,为了成为一个好公民,我们鼓励您从应用程序中释放一些资源。当应用程序返回前台时,可能需要再次渲染。