I am on a team that is building an iOS app, and we are experiencing incredibly slow frame rates and unresponsiveness. We have looked into many possible culprits and tried to simplify views, but it appears to be a very fundamental problem. Even our login screen has a noticeable delay between the user’s pressing a key and the character’s appearing in one of the text fields. On another screen that contains a map and a table view, the table view scrolls at only 5 FPS.
I know this is a very vague question, but we have not been able to make any headway. Are there any things any of you have experienced that can cause such poor performance across the entire app?
I have thought about moving computation off the main thread, but I don’t know how that would fix the unresponsive login screen, in which nothing should be happening after the view loads.
The issue turned out to be with the MFSideMenu library. (https://github.com/mikefrederick/MFSideMenu)
We were using an older version of this that did not include the line
controller.view.layer.shadowPath = [UIBezierPath bezierPathWithRect:controller.view.bounds].CGPath;, which meant the shadow rendering of this menu was not optimized.