SKSpriteNode的"color"和"colorBlendFactor"属性的性能



我有一个通过SKSpriteNode创建的具有五彩纸屑效果的SpriteKit应用程序。每一块五彩纸屑都是一个节点。

我目前的策略如下:

  1. 使用白色正方形图像初始化节点,如下所示:SKSpriteNode(texture: whiteSquareImage)
  2. 将节点的color属性设置为非白色,如下所示:node.color = UIColor.green
  3. 设置节点的colorBlendFactor属性,如下所示:node.colorBlendFactor = 1.0

问题:与简单地使用彩色图像相比,让系统为精灵上色会对性能造成影响吗?

谢谢!

这绝对是一个有趣的问题!几乎根据政策,我总是对我的应用程序中的任何单色精灵使用白色资产。这使我可以对我的颜色进行额外的动态处理,因为它们可以在代码或场景文件中进行管理。使用这种方法,我在应用商店中有多个非常成功的应用程序,我从未见过在使用colorcolorBlendFactor时出现任何问题或性能损失。所以,我的第一直觉是回答:不要担心:(。

当然,你可以通过让模拟器过载来测试它,因为五彩纸屑太多,以至于它开始失去性能,然后测量差异,但我认为你会没事的。如今,iPhone和iPad的性能如此之好,以至于需要花很多时间才能做出改变。我敢打赌,无论如何你都看不出有什么不同。

最新更新