Close ad

Already at the beginning of the year, representatives of Apple they claimed, that the new iOS 12 will focus mainly on optimization and we will have to wait for some more fundamental news until next year. Much the same was said at the keynote on Monday, during the section about iOS 12. Yes, some news will indeed appear in the upcoming iteration of iOS, but the main role is played by optimization, which will especially please owners of older machines (on how iOS 12 breathed life into my You will be able to read the 1st generation iPad Air already this weekend). Yesterday, as part of the WWDC program, a lecture was held where it was explained in more detail what Apple has done to make the new system run noticeably faster.

If you are really interested in this topic and want to know how certain elements of iOS work in practice, I recommend watching the recording of the lecture. It is about 40 minutes long and is available on Apple's official website under the title Session 202: What's New in Cocoa Touch. If you don't want to waste three quarters of an hour watching the recording of the conference, you can read a more concise transcript <a href="https://cdn.shopify.com/s/files/1/1932/8043/files/200721_ODSTOUPENI_BEZ_UDANI_DUVODU__EN.pdf?v=1595428404" data-gt-href-en="https://en.notsofunnyany.com/">here</a>, however, is somewhat technical. For the rest of you, I'll try a simplified summary below.

Check out the images from the iOS 12 unveiling:

With iOS 12, Apple decided to focus on optimization, as many users complained about debugging (especially in connection with iOS 11). The vast majority of negative reactions related to some kind of "slowness", "stuckness" and "unsmoothness" of the system and its animations. Apple's programmers therefore delved into the very basics and overcame the entire animation system within iOS. This effort consisted primarily of three major tweaks that make iOS 12 run the way it does. Programmers have managed to uncover flaws that have been present in iOS since iOS 7.

1. Data preparation

The first change is the optimization of the so-called Cell Pre-fetch API, which simply took care of a kind of data preparation before the system actually needed it. Whether it was images, animations or other data, the system had to pre-play the necessary files in memory with this API so that they would be available when they were used and thus there would be no jumps in the processor load, which would cause the above-mentioned fluidity problems. As it turned out during a thorough audit of this algorithm, it did not work quite correctly.

In some cases he pre-prepared the data, in others he did not. In other cases, the system loaded the data even though it was already prepared in the cache of this API, and sometimes a kind of "double loading" occurred. All of this caused drops in FPS during animations, chopping and other inconsistencies in the system's operation.

2. Instant performance

The second change is the modification of the power management of the computing units in the device, be it CPU or GPU. In earlier versions of the system, it took noticeably longer for the processor to notice increased activity demands and thus increase its operating frequencies. In addition, this acceleration/deceleration of the processor took place gradually, so in many cases it happened that the system needed power for some task, but it was not immediately available, and there were again drops in FPS animations, etc. This changes in iOS 12, because it is here the performance curve of the processors has been adjusted significantly more aggressively, and the gradual increase/decrease in frequencies is now immediate. The performance should thus be available at the moments when it is needed.

3. More perfect Auto-layout

The third change concerns the interface that Apple introduced in iOS 8. It is the so-called Auto-layout framework, which entered iOS at the time when Apple started increasing the size of its iPhone displays. The framework made sure that the appearance of the user interface was correct regardless of the type and size of the display the data was rendered on. It is a kind of crutch that helps developers optimize their applications (but not only them, this framework is an integral part of the iOS system as such and takes care of the correct display of all parts of the user interface) for several display sizes. In addition, this entire system is largely automated. Upon detailed examination, it turned out that its operation is quite demanding on system resources, and the biggest impacts on performance appeared in iOS 11. In iOS 12, the aforementioned tool has received a significant redesign and optimization, and in its current form, its impact on system operation is considerably smaller , which largely frees up resources in the CPU/GPU for the needs of other applications and tools.

As you can see, Apple has really taken the optimization processes from the peak and it really shows in the final product. If you have last year's iPhones or iPads, don't expect too many changes. But if you own a device two, three, four years old, the change will definitely be more than noticeable. Even though iOS 12 is currently in its early stages, it already runs significantly better than any version of iOS 1 on my 11st generation iPad Air.

.