0

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

我有两个选择,我不知道哪个最好。

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

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

什么性能更高?

4

2 回答 2

1

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

  1. 这感觉可能是过早的性能优化。
  2. 我不认为这会在两者之间产生很大的不同。
  3. 使用平铺方法更具前瞻性,并且无需额外工作即可在更多屏幕尺寸(如平板电脑)上工作。

综上所述,在性能方面,您基本上是在这样做:

  1. 从记忆中抓取你的图像。
  2. 将其显示在屏幕上。

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

于 2013-04-27T23:36:38.667 回答
0

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

于 2013-04-28T00:08:37.620 回答