Ios7 使用Sprite套件预加载资产

Ios7 使用Sprite套件预加载资产,ios7,sprite-kit,Ios7,Sprite Kit,当在精灵套件游戏中预加载资源、图像、音频、SKTextures等时,是否足以预加载到一个强大的iVar,以便iOS将来缓存这些资源,然后让游戏在幕后从缓存中取出它们。或是否最好将这些资产加载到可以在游戏中任何地方直接访问的单例中的强IVAR 我不确定SpriteKit是否/如何在后台缓存资源,但会将资产预加载到静态变量。所以我可能会跟随他们的脚步。如果你使用仪器,你可以看到spritekit实际缓存了多少(很多)。因此,我认为使用单例持有资产不会带来任何性能提升。尽管如此,我仍然使用单例来简化编

当在精灵套件游戏中预加载资源、图像、音频、SKTextures等时,是否足以预加载到一个强大的iVar,以便iOS将来缓存这些资源,然后让游戏在幕后从缓存中取出它们。或是否最好将这些资产加载到可以在游戏中任何地方直接访问的单例中的强IVAR

我不确定SpriteKit是否/如何在后台缓存资源,但会将资产预加载到静态变量。所以我可能会跟随他们的脚步。

如果你使用仪器,你可以看到spritekit实际缓存了多少(很多)。因此,我认为使用单例持有资产不会带来任何性能提升。尽管如此,我仍然使用单例来简化编程和热交换,比如字体和纹理

您将看到的最大性能提升是:

  • 使用纹理地图集
  • 不要使用Apple推荐的“按名称查找节点”方法,而是使用您自己的数组或IVAR来查找它们。就我个人而言,我从来没有像启动spritekit后那样使用过NSHashTable(我在osx上)和NSMapTable