精灵套件中的性能问题,具有高效代码

时间:2016-07-10 04:35:12

标签: sprite-kit xcode7

我阅读了所有关于提高性能的帖子,但我的问题有点不同。

我有一个简单的基于物理的游戏。没有超级花哨的东西。

我有最高限度。屏幕上有40个节点和一些sklabelnode。

我的代码很有效 - 每个移出屏幕的节点都会从他的父母身上移除,而我只能同时获得4个physicBodys。纹理不大 - 最大250x250,预装在地图集中。

问题是它工作了一分钟左右然后开始口吃4-5秒然后再次正常工作。口吃不会出现在某一点上。有时会在启动时,有时在几分钟后完成。

我不知道该怎么做。

我将广告加载到另一个帖子上,否则无法加载任何内容。

编辑:

没有shapeNodes。 XCode 7 + iPhone 6plus(9.3.2)

@Alessandro Ornano

我的更新方法只处理背景图片。我已经尝试过没有bg了。同样的问题。我读到了iOS9中的性能问题 你对此有所了解吗?

-(void)update:(NSTimeInterval)currentTime{

//BG
if (self.background1.position.x >= self.size.width*1.5) {
    self.background1.position = CGPointMake(self.background2.position.x - self.background1.size.width+1, self.size.height/2);
}

if (self.background2.position.x >= self.size.width*1.5) {
    self.background2.position = CGPointMake(self.background1.position.x - self.background2.size.width+1, self.size.height/2);
}

//BG CLOUDS
if (self.backgroundClouds1.position.x >= self.size.width*1.5) {
    self.backgroundClouds1.position = CGPointMake(self.backgroundClouds2.position.x - self.backgroundClouds1.size.width+1, self.size.height/2);
}

if (self.backgroundClouds2.position.x >= self.size.width*1.5) {
    self.backgroundClouds2.position = CGPointMake(self.backgroundClouds1.position.x - self.backgroundClouds2.size.width+1, self.size.height/2);
}

}

0 个答案:

没有答案