In my iOS application I use a UIScrollView and a UIPageControl to display three CPTXYGraph plots for different time periods, i.e. one shows the last 30 days of data, the next the last 90, the third the last six months worth of data.
i.e Last Month
Last 90
etc
The combination of the UIScrollView and UIPageControll allowed me load each graph and then let the user swipe from graph to graph to view the different time periods.
Everything was working great until I tried to make my app a universal app, and attempted to run it on the iPad. When I rotated the iPad the app would crash and cause the iPad to do a soft reset. While hooked up to the debugger the iPad would report low memory warnings before crashing.
I found setting CollapseLayers = true on the CPTGraphHostingView I could then run the app on the iPad without crashing, however loading the extra graphs on the other pages was orders of magnitude slower than what I could do on the iPhone. Granted I'm using a iPhone 5s vs an iPad3, but I didn't expect such a signification slowdown like I was seeing.
Puzzled, I loaded the app back on the iPhone with CollapseLayers = true still set and noticed the iPhone had slowed down noticeably loading the horizontal graphs as well. See the Instruments captures below
First with CollapseLayers = false
Second with CollapseLayers = true
In each capture I'm doing the same amount of 'work' on the iPhone, start the application, and rotate. Notice when CollapseLayers = true the amount of time spent by the CPU at 100% is significantly longer than when CollapseLayers = false, but the memory usage is much less, approximatly 38MB vs 199MB.
Suggestions on how I can either reduce memory usage so I don't need to set CollapseLayers = true, or how I can improve performance with CollapseLayers = true?
Update
I found a discussions addressing this topic:
https://groups.google.com/forum/m/#!topic/coreplot-discuss/LqMJEPyuR1o
From the post
The rendering speed is CPU-bound, so unfortunately the higher resolution demands 4 times more work, which is about what you see.
This at least explains why I'm seeing such a performance hit on the iPad3 vs the iPhone.
Tried removing the theme from my graphs and leave CollapseLayers = false, sadly this still crashes the iPad.