6

I've noticed a major drop in fps in my sprite kit game having upgraded from iOS 8.4 to iOS 9. Has anyone else encountered this?

My texture atlases are still buried away in .atlas files. I've tried to use the asset catalog texture atlas functionality as an experiment and that gives even worse performance.

Pinxaton
  • 437
  • 4
  • 13
  • 1
    I'm seeing this framerate drop moving from iOS 8 → 9, only on devices that don't support Metal. – glenstorey Sep 22 '15 at 04:23
  • From what I've read on the forums, the main culprit seems to be SKCropNodes. Apple have done something in iOS9 that means they destroy performance. I don't know of a workaround, other than sitting on your hands waiting for Apple to care... https://forums.developer.apple.com/thread/14487 – Smikey Sep 23 '15 at 10:01
  • 1
    I think that might be a separate issue? I have about 3 crop nodes in the whole scene, and when they're removed the problem still occurs... – glenstorey Sep 23 '15 at 20:15
  • Any progress on this? I'm still having big performance issues... Written it up a bit here: http://stackoverflow.com/questions/33043369/major-ios9-performance-issues-with-sprite-kit – Smikey Oct 12 '15 at 13:12
  • I tried this on an iPhone 5s and performance is somewhat better as expected. I think glenstorey might be right. I was initially testing on an older generation iPod touch. I suspect it will be better on newer devices. I might revisit this when I have time though. – Pinxaton Oct 12 '15 at 19:02

1 Answers1

3

Have you tried this?

skView.ignoresSiblingOrder = YES;

You will probably have to set some zValues explicitly after the change, but the number of draw calls will hopefully be reduced. You can BTW display the number of draw calls by this line:

skView.showsDrawCount = YES;

https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html

Fredrik Johansson
  • 1,301
  • 1
  • 13
  • 26