对于大多数透明的大型CCSprites是否存在性能损失?

时间:2011-06-24 17:10:17

标签: cocos2d-iphone ccsprite

我有一些CCSprites是水平滚动的CCParallaxNode的孩子。它们都是相同的大小,即2048X640(对于-hd版本,对于非高清版本为1024X320),但它们包含大量透明度。例如,云精灵是一层薄薄的云层,其余的是透明的。我是否通过使用大图像来降低性能 - 我应该将其修剪到最小高度并手动设置垂直位置,而不是将所有精灵放在原点?

更新:我将所有图层修剪到最小高度(仍然是2048或1024宽,具体取决于显示),帧率从不到30到接近50。所以,是的,大受欢迎!

2 个答案:

答案 0 :(得分:2)

你可能会因此而受到很大的打击。我敢打赌,如果你将图像缩小,你会看到文件大小下降,以及图像占用的内存量大幅下降。

尺寸为2048 x 640的图像将存储为2048 x 1024 ...这是庞大的。我认为3GS之前的任何东西都不支持大的纹理。无论它大多是透明的,它仍然需要存储整个纹理。

答案 1 :(得分:1)

简短的回答是肯定的,你的表现受到了打击(即使它很小)。

即使屏幕上实际没有显示完整的Sprite,它确实已加载到内存中。你应该重新调整你的精灵大小以适应屏幕的大小。