Затвори ја рекламата

Веќе на почетокот на годината, претставници на Apple тврдеа тие, дека новиот iOS 12 ќе се фокусира главно на оптимизација и ќе треба да почекаме некои посуштински новости до следната година. Слично истото беше кажано на главниот говор во понеделникот, за време на делот за iOS 12. Да, некои новости навистина ќе се појават во претстојната итерација на iOS, но главната улога ја игра оптимизацијата, што особено ќе ги задоволи сопствениците на постарите машини ( за тоа како iOS 12 вдахна живот во мојот Ќе можете да ја читате првата генерација на iPad Air веќе овој викенд). Вчера, како дел од програмата WWDC, се одржа предавање на кое подетално беше објаснето што направи Apple за да може новиот систем да работи значително побрзо.

Доколку навистина сте заинтересирани за оваа тема и сакате да знаете како функционираат одредени елементи на iOS во пракса, препорачувам да го погледнете снимањето на предавањето. Долга е околу 40 минути и е достапна на официјалната веб-страница на Apple под насловот Сесија 202: Што е ново во какао допир. Ако не сакате да губите три четвртини од час гледајќи ја снимката од конференцијата, можете да прочитате поконцизен транскрипт овде, сепак, е донекаде технички. За останатите, ќе се обидам со поедноставено резиме подолу.

Погледнете ги сликите од претставувањето на iOS 12:

Со iOS 12, Apple одлучи да се фокусира на оптимизација, бидејќи многу корисници се жалеа на дебагирање (особено во врска со iOS 11). Огромното мнозинство на негативни реакции се однесуваат на некаква „бавност“, „заглавување“ и „немазност“ на системот и неговите анимации. Затоа, програмерите на Apple навлегоа во самите основи и го надминаа целиот систем за анимација во iOS. Овој напор се состоеше првенствено од три главни измени што прават iOS 12 да работи на начинот на кој работи. Програмерите успеаја да ги откријат недостатоците кои се присутни во iOS уште од iOS 7.

1. Подготовка на податоци

Првата промена е оптимизацијата на таканареченото Cell Pre-fetch API, кое едноставно се грижеше за еден вид подготовка на податоци пред на системот навистина да му треба. Без разлика дали станува збор за слики, анимации или други податоци, системот мораше претходно да ги репродуцира потребните датотеки во меморијата со овој API за да бидат достапни кога ќе се користат и на тој начин да нема скокови во оптоварувањето на процесорот, што би предизвикало горенаведените проблеми со флуидноста. Како што се покажа при темелна ревизија на овој алгоритам, тој не функционираше сосема правилно.

Во некои случаи тој претходно ги подготвувал податоците, во други не. Во други случаи, системот ги вчитувал податоците иако тие веќе биле подготвени во кешот на овој API, а понекогаш се случувало и еден вид „двојно вчитување“. Сето ова предизвика пад на FPS за време на анимации, сечкање и други недоследности во работата на системот.

2. Инстант изведба

Втората промена е модификација на управувањето со енергијата на компјутерските единици во уредот, било да е тоа процесор или графички процесор. Во претходните верзии на системот, на процесорот му требаше значително подолго време да забележи зголемени барања за активност и со тоа да ги зголеми неговите работни фреквенции. Дополнително, ова забрзување/забавување на процесорот се одвиваше постепено, па во многу случаи се случуваше на системот да му треба енергија за некоја задача, но таа не беше веднаш достапна и повторно имаше падови на FPS анимациите итн. iOS 12, бидејќи токму тука кривата на перформанси на процесорите е значително поагресивно прилагодена, а постепеното зголемување/намалување на фреквенциите сега е веднаш. Според тоа, изведбата треба да биде достапна во моментите кога е потребна.

3. Посовршен автоматски распоред

Третата промена се однесува на интерфејсот што Apple го воведе во iOS 8. Ова е таканаречената рамка Auto-layout, која влезе во iOS во време кога Apple почна да ја зголемува големината на своите iPhone дисплеи. Рамката се погрижи изгледот на корисничкиот интерфејс да биде точен без оглед на видот и големината на приказот на кој се прикажуваат податоците. Тоа е еден вид патерица што им помага на програмерите да ги оптимизираат своите апликации (но не само нив, оваа рамка е составен дел на iOS системот како таков и се грижи за правилно прикажување на сите делови од корисничкиот интерфејс) за неколку големини на приказ. Покрај тоа, целиот овој систем е во голема мера автоматизиран. По деталното испитување, се покажа дека неговата работа е многу барана за системските ресурси, а најголемите влијанија врз перформансите се појавија во iOS 11. Во iOS 12, гореспоменатата алатка доби значителен редизајн и оптимизација, а во сегашната форма, нејзината влијанието врз работата на системот е значително помало, што во голема мера ги ослободува ресурсите во процесорот/ГПУ за потребите на другите апликации и алатки.

Како што можете да видите, Apple навистина ги зеде процесите на оптимизација од врвот и тоа навистина се покажува во финалниот производ. Ако имате минатогодишни iPhone или iPad, не очекувајте премногу промени. Но, ако поседувате уред стар две, три, четири години, промената дефинитивно ќе биде повеќе од забележлива. Иако iOS 12 моментално е во рана фаза, тој веќе работи значително подобро од која било верзија на iOS 1 на мојата прва генерација на iPad Air.

.