iOS performance is bad. Android working fine. Help is needed guys!

Hello guys, it seems that i just can not get my game to work nice on iOS devices. It is working quite good on lower end Android Devices. I am using Unity, 5.3.2f1

I went through all graphics API, Metal, GLES 2.0 and 3.0 and i get hiccups from all of them but i get the best performance from 2.0

Also the acceleromater freq is set to Disabled, game is not using it, Iphone only SDK, Optimized Fastest and Smallest in xCode, tried in 3 different Unity versions and Xcode 7 beta 5, beta 3 , 7.2…

Still i get these weird hiccups, its like a small drop in framerates that i just cant explain. Game is vsynced, using Application TargetFramerate to 60, altough setting it to 30 does not solve the problem. Game still has hiccups.

I tried everything, read a lot of articles, scoured the internet for days and still no solution. Game also has hiccups on Ipad Air, and on any iPhone from 6 Plus to 5. Performance is same across them all, except for those hiccups.

I tried using Unlit shaders, Sprite shaders, Normal ones, deleting my whole backgrounds to reduce draw calls. I get only 10 of them per level, and my Verts and Tris dont go above 200 each on a whole level.

Nothing helped. But on a profiler i noticed something weird, every hiccup it appears that is caused by Graphics.PresentAndSync which for me makes no sense, how could vsync cause hiccups, also i tried without then, performance was even worse, hiccups become more regular.

Also i tried reducing physics timestep, didnt work.

Here are a couple of screenshots, please take a look at them, and help me fix this. I can not release my game without an iOS version. Its a basic 2D platformer game, nothing too fancy with graphics and effects and particles, so i dont know whats causing them.

Every input is appreciated! :slight_smile:


Bump. Anyone? Now after some testing i also suspect Camera Render Culling, but i am not yet sure.

Could you show a screenshot the profiled timeline (as opposed to hierarchy) of one of those slow frames? Expand the frame across the screen so that as much as possible information is visible.

Oh, okey i think i have done it right. Again Graphics.PresentAndSync is taking up a lot of times.

Bump and Update. After a week of trying to resolve the issue, many hours of head banging i have decided to skip the iOS release and just release Android for now.

It seems this is quite unfixable so far and after the release on Android i will try to reimport the whole project as a new project on OS X, part by part for control, its going to be a long and tiresome process but i hope i will resolve it that way in a couple of weeks so i can release for iOS too.

Bump. For anyone wondering it is fixed. As my last try i went and downloaded Unity 5.4 Beta version, and i built my game, installed it and it worked. That weird hiccup i had is gone and game is working like a charm now, the way it should. Even though it was 4 AM i still jumped all happy around my Apartment, now i can release for iOS too. Silly Unity, i knew it was them and not my 2 months old programming skills :slight_smile:

Hi Urosq,
which beta version did you used? I’m still facing this problem, using a simple test project with cubes and only a camera script movement.

Our game runs fine on iPad2 and Android devices, but not on iPad Air.

Thanks