Zavrieť reklamu

Už na začiatku roka zástupcovia Applu vyhlasovali, Že sa nový iOS 12 bude zameriavať predovšetkým na optimalizáciu a na nejaké zásadnejšie novinky si budeme musieť počkať až budúci rok. Napospol to isté zaznelo v pondelok na keynote, počas sekcie o iOS 12. Áno, nejaké novinky sa v nadchádzajúcej iterácii iOS skutočne objavia, hlavnú úlohu však zohráva optimalizácia, čo poteší najmä majiteľov starších strojov (o tom, ako iOS 12 vlial život do môjho iPadu Air 1. generácie si budete môcť prečítať už cez víkend). Včera sa v rámci programu WWDC konala prednáška, na ktorej bolo detailnejšie vysvetlené, čo Apple urobil pre to, aby nový systém behal o poznanie svižnejšie.

Pokiaľ vás táto téma naozaj zaujíma a chcete vedieť, ako fungujú isté prvky iOS v praxi, odporúčam sa pozrieť na záznam z prednášky. Má zhruba 40 minút a je dostupný na oficiálnom webe spoločnosti Apple pod názvom Session 202: What's New in Cocoa Touch. Ak nechcete strácať trištvrte hodiny sledovaním záznamu konferencie, stručnejší prepis si môžete prečítať tu, je však trochu technický. Pre tých ostatných sa pokúsim o zjednodušené zhrnutie nižšie.

Pozrite sa na obrázky z predstavenia iOS 12:

Apple sa s iOS 12 rozhodol zamerať na optimalizáciu, pretože práve na odladenosť sa mnoho používateľov sťažovalo (najmä v súvislosti s iOS 11). Prevažná väčšina negatívnych reakcií sa týkala akejsi „pomalosti“, „zasekanosti“ a „neplynulosti“ systému a jeho animácií. Programátori Applu teda zabrúzdali do samotných základov a celý animačný systém v rámci iOS prekopali. Toto úsilie sa skladalo primárne z troch hlavných úprav, vďaka ktorým behá iOS 12 tak, ako behá. Programátorom sa podarilo odhaliť nedostatky, ktoré sa v rámci iOS nachádzali už od iOS 7.

1. Príprava dát

Prvou zmenou je optimalizácia tzv. Cell Pre-fetch API, ktoré sa zjednodušene staralo o akúsi prípravu dát predtým, než ich systém skutočne potreboval. Či už išlo o obrázky, animácie či ďalšie dáta, systém mal s týmto API predohrať potrebné súbory do pamäte na to, aby pri ich použití boli k dispozícii a nedochádzalo tak k skokovému zaťažovaniu procesora, ktoré by spôsobovalo vyššie zmienené problémy s plynulosťou. Ako sa pri dôkladnom audite tohto algoritmu ukázalo, nefungoval úplne korektne.

V niektorých prípadoch dáta predpripravil, v iných potom nie. V ďalších prípadoch systém dáta načítal aj napriek tomu, že už boli pripravené v medzipamäti tohto API a hocikedy dochádzalo k akémusi „dvojitému načítaniu“. To všetko spôsobovalo ony prepady v FPS v rámci animácií, kosenia a ďalšej neplynulosti v chode systému.

2. Okamžitý výkon

Druhou zmenou je úprava power manažmentu výpočtových jednotiek v zariadení, či už ide o CPU alebo GPU. V predchádzajúcich verziách systému trvalo o poznanie dlhšie, než procesor zaznamenal zvýšené nároky na aktivitu a navýšil tak svoje prevádzkové frekvencie. Toto zrýchľovanie/spomaľovanie procesora navyše prebiehalo postupne, teda sa v mnohých prípadoch dialo to, že systém pre nejakú úlohu potreboval výkon, ten však nebol okamžite k dispozícii a opäť dochádzalo k prepadom FPS animácií a pod. To sa v iOS 12 mení, pretože je tu výkonnostná krivka procesorov upravená podstatne agresívnejšie a ono postupné zvyšovanie/znižovanie frekvencií je teraz okamžité. Výkon by tak mal byť k dispozícii v momentoch, kedy je treba.

3. Dokonalejší Auto-layout

Tretia zmena sa týka rozhrania, ktoré Apple predstavil v iOS 8. Ide o tzv. Auto-layout framework, ktorý sa do iOS dostal v období, keď Apple začal so zväčšovaním displejov svojich iPhonov. Framework sa staral o to, aby bola podoba používateľského rozhrania korektná bez ohľadu na to, na aký typ a veľkosť displeja sa dáta vykresľujú. Ide o akúsi berličku, ktorá vývojárom pomáha s optimalizovaním ich aplikácií (ale nielen ich, tento framework je integrálnou súčasťou systému iOS ako takého a stará sa o správne zobrazenie všetkých častí používateľského rozhrania) na niekoľko veľkostí displejov. Celý tento systém je navyše do veľkej miery automatizovaný. Pri detailnom skúmaní sa ukázalo, že je jeho prevádzka značne náročná na systémové zdroje a najväčšie dopady na výkon sa objavili v iOS 11. V iOS 12 sa tak spomínaný nástroj dočkal výrazného prepracovania a optimalizácie av súčasnej podobe je jeho dopad na chod systému značne menší , čo do veľkej miery uvoľňuje zdroje v CPU/GPU pre potreby ďalších aplikácií a nástrojov.

Ako je vidieť, Apple vzal optimalizačné procesy naozaj od vrcholu a na výslednom produkte je to naozaj poznať. Pokiaľ máte minuloročné iPhony či iPady, príliš veľké zmeny nečakajte. Ak ale vlastníte zariadenie dva, tri, štyri roky staré, zmena bude rozhodne viac ako citeľná. Aj keď je v súčasnej dobe iOS 12 vo svojej ranej fáze, už teraz mi na mojom iPade Air 1. generácie behá podstatne lepšie, než akákoľvek verzia iOS 11.

.