什么是最佳性能?将所有内容填入一个纹理图集(然后我将其加载到主类中),然后将纹理区域发送到其构造函数中的对象,还是每个对象应该有一个图集?
您会将全屏背景放在地图集中吗?还是这么大?
可以将多个动画保存在一个地图集中吗?假设我有5个对象,每个对象具有6帧动画,是否应该将其放在相同的图集中,然后在对象构造函数中发送区域?
使用LibGdx为Android / iOS开发。
最佳答案
通常,最好减少地图集以减少批量冲洗。但是每帧冲洗次数低于一定数量(对于现代低端设备而言,我认为大约在30至40之间),您不会受到任何影响,因为这不会成为性能瓶颈。
您确实需要注意绘制物料的顺序。考虑两种情况:
您有一个有两个军队战斗的游戏。所有“好人”都在地图集1上,所有“坏人”都在地图集2上。即使您只有两个纹理地图集,您也可能最终要进行数百次批处理刷新,因为您要在地图集之间来回跳转吸引所有士兵。
您有一个具有很多背景风景的游戏,价值20视差层。您为每个图层制作一个单独的纹理图集。即使有20个图集,您也只能进行20次批处理刷新,因为您要按顺序绘制它们,以便始终连续绘制同一图集中的所有内容。
如果您可以将整个游戏放入一个2048x2048地图集,那就太好了,因为您不必担心绘制顺序或卸载/重新加载的问题。但是,如果将所有内容放在一个图集上,而不能将所有内容都放在一个2048页上,则它将不得不跨越多个纹理,并且您将失去对计划绘制顺序以减少冲洗的控制。 (几乎所有设备都支持2048,而不支持4096。)此时,您想根据绘制顺序将内容分解。