While it seems that this is a driver/hardware to OS problem. I want to share a personal lesson I learned lately.
I was testing a game on an iPodTouch5g. All was fine I was getting 58-60fps. When I decided to start testing on my touch4G the fps dropped too 18-30. Of course the touch is weaker. But my game had very little graphics so I thought I would optimize. I learned a surprising lesson. So here it is and what I found.
First I did was strip out the big assets. result no difference in FPS.
I was very shocked that with no graphics my fps was abysmal. Ok I new my game only had visually about 12 objects on screen at a time, but still no difference.
So my next step was to identify what was killing FPS. The next step was cutting out un needed behaviours. Previously I found even behaviours like PIN would impact peformance in a big way even if Pin wasn't being pinned to anything. I had about +5 FPS performance.
Ok, so the next step was to start modifying game propertier. Make sure WebGL is on, HIGH DPI rendering..... boom +5 fps. i was getting 30 to 40 with no graphics and the better settings. But what was going on. No gfx, no objects and peformance was poor.
The next step was cutting out the code. I started disabling Events. I first started cutting Included Sheets. managed +3fps. Still not much though. Well after deleting EVERYTHING the game ran at 62fps.. YES.... but there wasn't anything. No GFX, no code.. NOTHING. But I knew that something in my code was killing performance.
So I put the graphics back in(re-loaded from a prior save) and ran with no Events what so ever(deletes the events). And much to my surprise the FPS was 60-62fps. O.o not a single image I used had any effect on performance. I learned very importantly an important lesson.
C2 has a great rendering optimization, but you as a coder can make very bad event code.... super bad event code. I finally isolated the code that was dropping my games performance by 25fps.
it was surprsingly a combination of Touch checks and setting the players speed/angle of travel by touch/mouse position.
If your developing a game. I suggest reconsidering Every Tick to update a lot less frequently.
So My suggestion if your having performance problem. Create a complicated scene and disable all your events for the scene and see if that improves things. If it does you like me need to go back and re-doe the event code.