New_guy,
The game is for iOS only. The concept of the game is simple, the main character just shoots zombies.
Now, in my splash screen, i detect which iOS device by looking at iPhone.Generation, if it’s older devices (iPhone4,4s, iPod 3rd generation, iPad3 etc) i set the Application.TargetFreamRate to 30 and i set the MAX_ZOMBIE_COUNT to 10 so only 10 zombies can be spawned at a time.
However, if the game is running on newer devices (iPhone5,5s,6, 6+, iPad 5th gen etc) i set the the framerate to 60 and max_zombie_count to 28.
I build the project, load up Xcode6, I have all kinds of iPhones and iPads in my house. i build the game into all my iOS devices and all of them run perfectly as coded.
The older devices(iOS6 to iOS7) run at 30FPS and plays very smooth at 30FPS with 10 zombies attacking the player.
The newer devices(iOS7) run at 60FPS and plays very smooth at 60FPS (57-60FPS) with 28 zombies attacking me.
But, on the my iPhone6(iOS8), it starts of at 60FPS then as i’m playing the game it drops to 20FPS, at times it is at 18FPS which is totally unplayable!
It is really annoying me, some times i’ll play it on my iPhone6 and it plays at 60FPS no problem but other times it will drop down to 20FPS.
I really don’t get it! How can an older iPhone5 and 5s run at 60FPS with 28 zombies BUT a newer more powerful iPhone6 struggles with low framerates with the same 28zombies on screen.
I think the folks at Apple sacrificed some CPU/GPU performance for better battery on iOS8. Which is probably why they launched the Metal API.