iOS 9.3 vs iOS 9.2 spritekit performance

Hello.


Anyone tested the spritekit performance in iOS 9.3 yet?


I have no time installing it now.


Any permance difference?


-Indiedeveloper

Replies

Hello Indiedeveloper,


You should always test your own apps against the beta builds. Your app(s) may behave differently from others. This is your chance to make sure your customers and you aren't surprised when the beta GM's.

Finding an utterly broken framework in a GM is quite a surprise too, no?

Hello all.


Why isn't spritekit-scenekit mentioned in the xcode or iOS release notes?

Would make things easier.


-Indiedeveloper

Thanks for your contribution @3ZS.


A more helpful response from Apple would be an indication of what bugs have been fixed, known issues, and any new features.

Indeed...


We have asked many times for, if not an inclusion in releases notes of spritekit changes, at the very least a mention in these forums. Knowing what changed would be extremely helpful to all of us and save us massives amounts of time, following what we've been through with iOS 9.

I'm trying to run an existing project using latest Xcode beta and iOS 9.3 beta... However Xcode crashes all the time when I try to fix provisioning profile issues, so I can't even get the project onto my iOS 9.3 beta device yet. When I click "Fix Issue" it complains that the bundle id does not exist (which it does, this all works on previous Xcode)

Ok I got the binary onto my device by some trial and error...


It seems that no longer does it complain about SKDefaultShading() not existing in the logs, so that might just have begun re-existing. I still have to get my first shader to work properly though so can't say of anything is really fixed or not.


u_sprite_size does not seem to work, still.

Me again! I got a shader adding a gradient to a SKLabelNode working. It's based on http://stackoverflow.com/a/28321896/129202 but that was not working. The working code I have now looks like this:

void main()
{
  /
  vec4 color = texture2D(u_texture, v_tex_coord);
  /
  /
  if (color.a != 0.0) {
  float gradient = gl_FragCoord.y / u_fixed_size.y;
  gl_FragColor = vec4(color.r + gradient, color.g + gradient, color.b + gradient, color.a);
  }
  else {
  /
  gl_FragColor = color;
  }
}


(this editor mangled the comments in the code... hm)


I could use this with current iOS 9.3 beta:

void main()
{
  /
  vec4 color = SKDefaultShading(); /
  /
  if (color.a != 0.0) {
  float gradient = gl_FragCoord.y / u_fixed_size.y;
  gl_FragColor = vec4(color.r + gradient, color.g + gradient, color.b + gradient, color.a);
  }
  else {
  /
  gl_FragColor = color;
  }
}


The shader itself is not perfect yet, but the SKDefaultShading seems to work. The above one is the workaround for previous iOS 9. I got some more testing to do to see what works and what doesn't.

Thank you!

This kind of information is priceless.


Which is probably why Apple doesn't give it out.

Well, I polished the gradient effect on SKLabelNode, look at this post, it works pretty well now even on iOS 9.2. I don't have any iOS 9.0-9.1 devices to test anymore :-P iOS 8 and 9.3 beta (as of today 20160115) work fine too... http://stackoverflow.com/a/34806384/129202


For my current implementation with 40-50 dynamic physical objects (rectangles) I do see clearly worse/bad performance on iPhone 5(iOS8.4.1) compared to an iPhone 4s (iOS 9.2). Yes the iPhone 4s is MUCH faster than the iPhone 5.

If I go on using SpriteKit (I guess I will at this point), I might have to set deployment target to iOS 9 :-P

Hello MJ Mechanic.


how is the fps /performance between ios 9.2 and 9.3 in your project.


/ID

The game(s) I'm making has likely no difference yet, I don't really see a problem on 9.2 yet. Then again the stuff I'm making now still is far from submit date.

I just updated my iphone 5 from 9.2.1beta to 9.3beta.


One scene performed and 37 FPS. Now it is 31 FPS.


The other scene performed at 33-35 FPS. Now it shows 29 FPS.

Thank you very much for this kind of testing.


It's a great shame Apple is not doing this kind of testing and revealing the programming and their suggested pathways to performance.


I can only conclude they don't care.

pavelgubarev, thanks for info. Have you tried to recomiple your project with the target set to ios 9.3? using xcode 7.3 beta