Performance regression with UITableView and variable row heights
| Originator: | dieter.komendera | ||
| Number: | rdar://22915261 | Date Originated: | 30-Sep-2015 05:11 PM |
| Status: | Open | Resolved: | |
| Product: | iOS SDK | Product Version: | 9.0.1 (13A404) |
| Classification: | Performance | Reproducible: | Always |
Summary: There’s a serious performance regression in iOS 9 compared to iOS 8.4 with UITableView and variable row heights, when scrolling to a row with scrollToRowAtIndexPath:atScrollPosition:animated Steps to Reproduce: (with an iPhone 6) * Run the attached demo app * let it insert about 300 rows * monitor cpu usage Expected Results: similar performance and cpu usage on iOS 8.4 and iOS 9.0 Actual Results: iOS 9 performance is way worse and cpu usage a lot higher Regression: This is a regression to iOS 8.4 Notes: From what I see when profiling with Instruments is that with iOS 9.0.1 -[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:] for some reason recalculates the height for all rows instead of using estimatedRowHeight for cells which are not visible.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!