Pixate / pixate-freestyle-ios

Pixate Freestyle for iOS
Apache License 2.0
848 stars 134 forks source link

Over 2x latency when using freestyle on 2nd generation iPad #144

Open cbumstead opened 10 years ago

cbumstead commented 10 years ago

I am using Xamarin IOS and Pixate Freestyle v2.1.4 (API 2) - Build 2014/06/23

This occurs when doing an animated UINavigationController push from one UITabBarController to another. I was measuring the time from when the push is initiated to when the UIViewController ViewDidAppear is called. The latency for the transition without and with Freestyle went from 0.75 sec to 1.72 sec which is 2.3x slower. Even without using two UITabBarControllers and pushing directly from one UIViewController to another the latency is 0.65 sec to 1.3 sec (2.0x slower).

When turning off the UINavigationController push animation the latency drops to 0.11 sec to 0.59 sec (5.36x slower).

Screen 1 - UITableView with using MT Dialog with less than 5 elements, 4 UIButtons, and 5 UILabels Screen 2 - 17 UILabels, 2 UIButtons

I have tested stripping one by one more UIViews off the screen and removed any code but each there is not one thing that seems to contributes stronger to the latency.

Also did some comparisons with 4th and 5th gen iPads and they latency is tolerable but the app is used internally at the company I work for and still most of the employees have the slower 2nd gen iPad. I have described only one part of the app which is slow but navigating between any screen or popover is also very sluggish. Do you have any suggestions for how performance can be improved?

martinrybak commented 9 years ago

I am noticing 4.0x slower performance on iPhone 4 using PixateFreestyle 2.1.4 (native, not Xamarin). Using the Time Profiler, I measured that pushing a new screen without Pixate takes ~1 second. With Pixate, it takes ~4 seconds. This delay isn't noticeable on the iPhone 5 or in the iOS Simulator. Pixate is a fantastic library, but a word of caution to anyone who needs to support older devices.