Cocos2d iphone 什么是更高的性能,平铺一个小的CCSprite或一个完整的全屏背景?

Cocos2d iphone 什么是更高的性能,平铺一个小的CCSprite或一个完整的全屏背景?,cocos2d-iphone,Cocos2d Iphone,我有一个由白色和红色方块组成的背景。尺寸为10 x 10像素 我有两个选择,我不知道哪一个是最好的 一,。 我可以在2048x2048纹理贴图中保存一个960x480px的png文件,填充红色/白色方块,然后将背景设置为一个完整的图像 或 2.我可以在2048x2048纹理贴图中保存一个10x10px的png文件。然后在代码中,在整个屏幕上平铺这个 什么更有效 我从未为iPhone开发过,但我可以假设并提供一些想法: 这感觉可能是过早的性能优化 我不认为这会对两者产生太大的影响 使用平铺方法更适

我有一个由白色和红色方块组成的背景。尺寸为10 x 10像素

我有两个选择,我不知道哪一个是最好的

一,。 我可以在2048x2048纹理贴图中保存一个960x480px的png文件,填充红色/白色方块,然后将背景设置为一个完整的图像

或 2.我可以在2048x2048纹理贴图中保存一个10x10px的png文件。然后在代码中,在整个屏幕上平铺这个


什么更有效

我从未为iPhone开发过,但我可以假设并提供一些想法:

  • 这感觉可能是过早的性能优化
  • 我不认为这会对两者产生太大的影响
  • 使用平铺方法更适合未来,并且可以在更大的屏幕尺寸(如平板电脑)上工作,而无需额外工作
  • 综上所述,在性能方面,您基本上是这样做的:

  • 从记忆中抓取你的图像
  • 在屏幕上显示它

  • 在平铺的情况下,您必须在屏幕上垂直和水平平铺它,这将需要一些处理。在非平铺的情况下,您必须从内存中取出一个更大的图像,这将花费更长的时间。我不知道这两个人中哪一个花的时间更长。您可能需要对其进行配置。

    将红色和白色精灵的一个副本放在一个.pvr.ccz文件中(使用TexturePacker之类的工具进行准备)。。。然后使用纹理创建CCSpriteBatchNode。最后,将红色和白色方块复制为将添加到批处理节点的ccsprite。将批处理节点添加到场景中。瞧,节省捆绑包大小和核心内存,几乎不会对性能造成任何影响,因为您使用了批处理节点(所有精灵都在单个GL调用中绘制)。

    这很容易测试。。。只需这样做。具有批处理节点的平铺更具性能。您查看过平铺贴图编辑器和.tmx文件吗?这是一种非常简单的方法来设置您在cocos2d中描述的内容。