我有一些CCSprites
是水平滚动的CCParallaxNode
的孩子。它们都是相同的大小,即2048X640(对于-hd版本,对于非高清版本为1024X320),但它们包含大量透明度。例如,云精灵是一层薄薄的云层,其余的是透明的。我是否通过使用大图像来降低性能 - 我应该将其修剪到最小高度并手动设置垂直位置,而不是将所有精灵放在原点?
更新:我将所有图层修剪到最小高度(仍然是2048或1024宽,具体取决于显示),帧率从不到30到接近50。所以,是的,大受欢迎!
答案 0 :(得分:2)
你可能会因此而受到很大的打击。我敢打赌,如果你将图像缩小,你会看到文件大小下降,以及图像占用的内存量大幅下降。
尺寸为2048 x 640的图像将存储为2048 x 1024 ...这是庞大的。我认为3GS之前的任何东西都不支持大的纹理。无论它大多是透明的,它仍然需要存储整个纹理。
答案 1 :(得分:1)
简短的回答是肯定的,你的表现受到了打击(即使它很小)。
即使屏幕上实际没有显示完整的Sprite,它确实已加载到内存中。你应该重新调整你的精灵大小以适应屏幕的大小。