Game engine COCOS2D-X场景中的大精灵与小精灵

Game engine COCOS2D-X场景中的大精灵与小精灵,game-engine,cocos2d-x,Game Engine,Cocos2d X,我正在开发一个基于复杂图形场景的2D物理游戏。在我的第一个关卡中,我创建了所有带有多个基本(相对较小)图像(精灵)实例的图形。这种方法会导致性能问题,因为在像iPhone4这样的旧手机上需要绘制大量精灵(大约350个) 在第二阶段,我使用了一种不同的方法:我为整个关卡创建了一个大图像,我将其分割成10个片段,并将这些精灵放在场景中。这种方法提供了高性能的改进,并让我可以自由地创建一个非常丰富的图形级别,但占用了非常大的空间(单个级别大约40 mb) 在你看来,解决方案在哪里?在中间 例如,所有(

我正在开发一个基于复杂图形场景的2D物理游戏。在我的第一个关卡中,我创建了所有带有多个基本(相对较小)图像(精灵)实例的图形。这种方法会导致性能问题,因为在像iPhone4这样的旧手机上需要绘制大量精灵(大约350个)

在第二阶段,我使用了一种不同的方法:我为整个关卡创建了一个大图像,我将其分割成10个片段,并将这些精灵放在场景中。这种方法提供了高性能的改进,并让我可以自由地创建一个非常丰富的图形级别,但占用了非常大的空间(单个级别大约40 mb)

在你看来,解决方案在哪里?在中间 例如,所有(多个)级别的“Rayman Jungle run”大约需要100 mb

这是一个资源组织问题,不是技术问题,但了解不同的方法非常有趣

这里是场景的屏幕截图

提前谢谢。
马可

你批量画精灵了吗?请提供整个场景的大小以及各个块的大小和文件格式(png?jpg?pvr?)。此外,无论是350个精灵还是10个精灵覆盖完全相同的区域,其中任何一个精灵的内存使用情况都不会有太大差异。不要查看文件大小,图像文件是压缩的,纹理不是(除非使用PVR纹理)。查看此项了解更多信息:是。我用TP创建了它们。我使用PNG是因为Android上的pvr.ccz存在一些问题。整个场景是20000x1536(全尺寸),每个区块是2000x1536,所以我们有10个区块。我最大的问题不是内存使用,而是捆绑包的大小。对于许多小精灵(在场景中多次重复使用),捆绑包很小,因为我们通过旋转和缩放多次重复使用相同的精灵。对于大块,就图形而言,不可能重用,但是包太大了。谢谢你的评论。另一个细节:如截图所示,我们有两层,一层用于游戏,另一层用于视差;因此,我们对每一层都有不同的块(10个用于主层,5个用于视差层)。您是否尝试过使用较小的块,但没有全部加载,而是只在屏幕上显示那些块,并在前面显示一个屏幕。可以在背景线程中异步加载纹理。是否也使用CCSpriteBatchNode绘制相同纹理的所有精灵?是的。我已经为所有精灵使用了CCSpriteBatchNode。实际上,我没有性能问题,我只需要为实现级别使用不同的策略。。。谢谢大家