我在做什么,我认为,这是一个非常简单的计时器栏,屏幕上没有其他内容。然而,这无法在iPad Pro上保持60fps ......我做的事情显然是重而错吗?
let previewTime: TimeInterval = 3.0
func timerBar(){
let tbW: CGFloat = frame.size.width / 2
let tbH: CGFloat = 64
let tbSize = CGSize(width: tbW, height: tbH)
let timerBox = SKSpriteNode(color: SKColor.black, size: tbSize)
timerBox.anchorPoint = CGPoint(x: 0.0, y: 0.0)
timerBox.position = CGPoint(x: frame.size.width / 2 - (tbW / 2), y: 500)
timerBox.zPosition = 8
addChild(timerBox)
let timerBoxBar = SKSpriteNode(color: .white, size: tbSize)
timerBoxBar.anchorPoint = CGPoint(x: 0.0, y: 0.0)
timerBoxBar.position.x = 0.0
timerBoxBar.position.y = 0.0
timerBoxBar.xScale = 0.0
timerBox.addChild(timerBoxBar)
let animPreviewTime = SKAction.scaleX(to: 1, duration: GameScene.previewTime)
timerBoxBar.run(animPreviewTime){self.randomisePositions()}
}
这使得计时器栏具有黑色背景和白色计时器栏,在屏幕上动画3秒,直到计时器栏已满。
它明显地结结巴巴,并且乐器使用渲染的蓝色时刻表现出来,足以让它一直让它变得口吃。
这里是渲染过程中的尖峰,正如你所看到的,时间条动画的任何一侧,绝对发生的事情都在发生:
Xcode版本8.2 beta(8C23)
iOS 10.2 Beta 2
现在正在下载iOS 10.2 beta 3 ...