减少SpriteKit中的绘制计数(次数)

问题描述 投票:0回答:1

我想优化抽奖次数,但不知道从哪里开始。

有人可以简要说明(或向我指出正确的方向)哪些因素会影响平局,是否可以查看/调试它们,是否有任何优化技巧?抽奖的最佳数目是多少?

例如,我的游戏为整个ui加载一个纹理图集,并使用子节点作为不同游戏菜单(而不是单独的场景)的容器。但是一个屏幕的绘制数为20+,而fps下降10-15,这是一个问题。

sprite-kit sknode
1个回答
0
投票
绘制次数是需要按正确顺序对场景进行分层的结果,例如,某些节点如果具有一定的透明度,则可以依赖于其后面的内容。

1:减少绘制次数的最大方法之一是一次渲染多个节点-这可以通过将同一层中所需的子节点添加到父节点来实现。例如,有一个名为nodeCollection的父节点,并使用addChild()添加要渲染在一起的多个节点以降低性能损失。

2:

您可以做的另一件事是将ignoresSiblingOrder上的true设置为SKView,并在每个节点上使用zPosition-这意味着SpriteKit要做的事越少,越多明确的。

3:

不要将SpriteKit用于UI!这就是UIKit的目的!您的SKView存放着SKSceneSKViewUIView的子类,这意味着您已将其放置在一个视图控制器中。您需要做的就是在SKView顶部的视图控制器中添加移动视图或按钮或任何您想要的东西,然后就设置好了!关于更多优化,我建议签出:Hacking with Swift - 15 tips to optimize your SpriteKit game
© www.soinside.com 2019 - 2024. All rights reserved.