How Apple is Fixing Frame Drop Issues while Scrolling on iOS 12
Apple, at the keynote of its annual developer conference — WWDC 2018, took the wraps off the twelfth update for its mobile operating system. iOS 12, in addition to bringing a slew of desperately missing features, also promises to uplift performance for current and older generation iPhones. A substantial part of that involves smoothing out a lot of iOS elements which had previously felt janky and irregular while scrolling. Here’s how the company plans to fix that.
Apple, during one of the WWDC sessions, outlined three fundamental frameworks it has updated on iOS 12 which should yield better scrolling and lesser frame drops.
First, the company seems to have mended an oversight in something called a “Cell Pre-fetch API”. The job of this module is to load lists in a way that you won’t have ever to wait while scrolling to the next one. As the name suggests, it’s supposed to pre-fetch the data before you even need it. Therefore, for instance, if you’re scrolling through your contacts list, the app will retrieve the ‘B’ entries when you’re about to reach the end of ‘A’.
Unfortunately, that wasn’t exactly how iOS was functioning so far in spite of the presence of that framework. Because of a bug, the ‘B’ entries would begin “pre-fetching” while you’re already scrolling through them. Due to that, the CPU was technically rendering them twice which was causing hitches. It doesn’t fail to work as intended every time, hence only in a few instances, you would face scrolling lags. Apple now says that on iOS 12 they’ve figured this out and you will no longer encounter such frame drops.
Another core iOS element Apple has repaired with iOS 12 is the component which is responsible for controlling the CPU’s clock speeds. You see, whenever there’s a relatively more resource-intensive object coming up in a scroll, the performance controller is notified so that it can ramp up the CPU to handle that. While on the versions before iOS 12, the performance controller did have this functionality, it was way too sluggish for reacting on time. Hence, the software would end up slowing down for a second or two for loading that resource-intensive object. On iOS 12, Apple promises this has been taken care of as well and the performance controller will respond much quicker.
Lastly, a framework called “Auto-Layout” has been updated for better efficiency. Auto-Layout, if it wasn’t clear from the name itself, automatically adjusts the apps’ various elements to various screen sizes and shapes if the developer has coded support for it. However, since an application can have numerous light and heavy chunks of views, they would tend to freeze for a few moments before loading entirely through Auto-Layout. On iOS 12, the company says that Auto-Layout’s performance impact has been brought down significantly.
Overall, iOS 12, according to Apple, is forty percent quicker than the ones before it. In addition to that, the company specified that the camera app, especially on dated products, will now launch seventy percent faster and the keyboard would come up fifty percent quicker. It’ll be a few months before these claims can be verified with real-life usage as iOS 12 is still in its early stages. However, if early impressions are to be considered, it’s quite promising. As a report suggested a couple of months ago, Apple is taking a step back to improve performance on iOS and adding the features which matter such as bundled notifications. The company will be soon rolling out the update to all the iPhones and iPads which are running iOS 11.