我有一个由白色和红色方块组成的背景。尺寸为 10 x 10 像素。
我有两个选择,我不知道哪个最好。
1. 我可以在我的 2048x2048 纹理贴图中保存一个 960x480px 填充有红色/白色方块的 png 文件,然后将背景设置为一个完整的图像。
或者 2. 我可以在我的 2048x2048 纹理贴图中保存一个 10x10px 的 png 文件。然后在代码中将其平铺在整个屏幕上。
什么性能更高?
我有一个由白色和红色方块组成的背景。尺寸为 10 x 10 像素。
我有两个选择,我不知道哪个最好。
1. 我可以在我的 2048x2048 纹理贴图中保存一个 960x480px 填充有红色/白色方块的 png 文件,然后将背景设置为一个完整的图像。
或者 2. 我可以在我的 2048x2048 纹理贴图中保存一个 10x10px 的 png 文件。然后在代码中将其平铺在整个屏幕上。
什么性能更高?
我从来没有为 iPhone 开发过,但我可以假设并提供一些想法:
综上所述,在性能方面,您基本上是在这样做:
在平铺的情况下,您必须将其垂直和水平平铺在屏幕上,这将需要一些处理。在非平铺的情况下,您必须从内存中提取更大的图像,这将花费更长的时间。我不知道这两个耗时者中哪一个需要更长的时间。您可能需要对其进行概要分析。
将您的红色和白色精灵的一份副本放在一个 .pvr.ccz 文件中(使用 TexturePacker 之类的工具准备)...然后使用纹理创建一个 CCSpriteBatchNode。最后,将红色和白色方块复制为您将添加到批处理节点的 CCSprite。将批处理节点添加到您的场景中。瞧,节省了包大小和核心内存,几乎没有任何性能影响,因为您使用了批处理节点(所有精灵都在单个 GL 调用中绘制)。