I have an iPad app which has a funky Path-style menu which is present on every screen. When the menu is opened there are some nice animations displayed as the menu items appear. The same instance of the menu is always used throughout the app, it is only allocated and initialised once when the app is launched.
I am experiencing that the animation performance of my menu is significantly different on different screens of the app. I can’t seem to figure out what is causing the difference in performance as it seems to contradict itself. The only correlation that I can kind of see is that on screens which have Core Graphics drawings using DrawRect the menu seems to perform poorly. On screens that do not have any custom drawings the menu performs very nicely. The custom drawings in most cases are generally simple paths with gradients.
Are there known animation performance issues when using core graphics to draw or are my performance issues caused by a different reason? A run of the app with instruments does not show any leaks. Runnign the app under the Core Animation performance tester tool in instruments shows significant FPS discrepancies between the screens with the screens using core graphics drawings performing at less than 50% the fps of the other screens which do not use it.
I have had this issue when using rendered shadows as such:
I resolved it by setting “shouldRasterize” on the view to true. I noticed a drastic increase in animation quality after making this one change.