我有一个包含多个灯光节点的场景。通常情况下,我的游戏在2016年底的Macbook Pro上运行得很好,速度为60fps。(这个游戏是为mac开发的,而不是iOS)。当添加一个轻节点时,帧速率会下降,一旦有4-5个节点,它就会变得极其缓慢和滞后。我是这样创建它们的:
let light: SKLightNode = SKLightNode()
light.falloff = 4.5
addChild(light)我知道光照效果需要大量的渲染能力,但我惊讶于它们产生问题的速度如此之快。
对如何提高性能有什么建议吗?
发布于 2017-02-20 18:59:04
SKLightNodes对性能的要求非常高,尤其是在旧设备上。
例如,如果你在iPhone 5上使用2 LightNodes in 1 SKScene,帧速率会下降到20FPS,这会使游戏基本上无法玩。
我最近制作了一个游戏,在一个场景中有4个灯,在iPhone 7上一切正常,但在一个较旧的设备上却无法使用。
所以你不应该在每个雪碧图/场景中使用超过1个SKLightNode,也许最多使用2个,否则性能会非常差。我不确定它在macOS上的表现如何,但你用4-5个灯来描述它的方式太多了。因此,您可以做的并不是很多,以提高性能。
SKLightNode performance issues
WWDC会议视频SpriteKit中的新特性提到,如果您在同一精灵上有多个灯光,则可能会获得低于60FPS的速度。
希望这能有所帮助
https://stackoverflow.com/questions/42338196
复制相似问题