我不确定它是否对你有用,我很确定你知道这个参数,但也许你没有注意到:
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsPhysics = true
skView.showsNodeCount = true
skView.frameInterval = 1 // real devices
#if (arch(i386) || arch(x86_64)) && os(iOS)
skView.frameInterval = 2 // <- this one
#endif
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .ResizeFill
skView.presentScene(scene)
}
消息来源:
/* Number of hardware vsyncs between callbacks, same behaviour as CADisplayLink. Defaults to 1 (render every vsync) */
public var frameInterval: Int
文档:
这是苹果的官方文件,上面写着:
默认值为 1,这会导致您的游戏以显示器的刷新率得到通知。如果该值设置为大于 1 的值,则显示链接会以原生刷新率的一小部分通知您的游戏。例如,将间隔设置为 2 会导致每隔一帧调用一次场景,提供一半的帧速率。
将此值设置为小于 1 会导致未定义的行为并且是程序员错误。