Iphone 预先绘制我的关卡的静态部分

Iphone 预先绘制我的关卡的静态部分,iphone,optimization,opengl-es,render-to-texture,Iphone,Optimization,Opengl Es,Render To Texture,我有一个基于关卡的游戏,它使用一个平铺引擎来呈现这些关卡。水平仪的大部分在整个水平仪中保持静止,如地面和天空。 我考虑将地面和天空从瓷砖数据预渲染到渲染纹理,然后只绘制每一帧,而不是每一帧都绘制一组预制件。 整个关卡在任何时候都是可见的,因此不必担心无法绘制的内容。 我能看到的渲染纹理的唯一缺点是,它占用内存空间(尽管是图形化的),而预制件很小,而且复制得到处都是。 什么更好?预绘制整个图像还是只绘制每帧的所有预制图像?平铺贴图的关键在于可以多次重复使用图像的某些部分,这节省了内存,在大多数情况

我有一个基于关卡的游戏,它使用一个平铺引擎来呈现这些关卡。水平仪的大部分在整个水平仪中保持静止,如地面和天空。
我考虑将地面和天空从瓷砖数据预渲染到渲染纹理,然后只绘制每一帧,而不是每一帧都绘制一组预制件。
整个关卡在任何时候都是可见的,因此不必担心无法绘制的内容。
我能看到的渲染纹理的唯一缺点是,它占用内存空间(尽管是图形化的),而预制件很小,而且复制得到处都是。

什么更好?预绘制整个图像还是只绘制每帧的所有预制图像?

平铺贴图的关键在于可以多次重复使用图像的某些部分,这节省了内存,在大多数情况下,渲染速度更快。因为你很可能会有物体在你的地图上四处移动,你将需要在每一帧渲染地面和天空图像,否则,你会到处都有后续图像!测试这一点最简单的方法是尝试两种方法,并使用工具查看每种方法对速度、内存和电池寿命的影响

我已经使用了这两种方法,我发现平铺贴图在大多数情况下对背景图像更有效,尽管它们更难维护

我的一般经验法则是,如果我的背景中有一堆部分可以是重复的平铺,而平铺集的大小大约是整个图像大小的50%或更小,那么我实现了平铺贴图。否则,我只使用图像

另一个注意,如果你的天空都是一种颜色,而且在任何地方都没有区别,那么我发现最好的办法是拍摄一个1像素的彩色图像(或者一个白色像素,使它的颜色与你的天空的颜色!),并将其缩放到适当的大小。这很容易维护,在速度、内存和电池寿命方面也很容易,但你确实牺牲了细节

希望有帮助