Zapri oglas

Že v začetku leta so predstavniki Appla so trdili, da se bo novi iOS 12 osredotočal predvsem na optimizacijo in bomo morali na nekatere temeljnejše novosti počakati do naslednjega leta. Približno enako je bilo govora tudi v ponedeljkovi osrednji besedi, med rubriko o iOS 12. Da, nekaj novosti se bo res pojavilo v prihajajoči iteraciji iOS-a, a glavno vlogo igra optimizacija, ki bo razveselila predvsem lastnike starejših strojev ( o tem, kako mi je iOS 12 vdihnil življenje Že ta vikend si boste lahko prebrali 1. generacijo iPad Air). Včeraj je v okviru programa WWDC potekalo predavanje, kjer je bilo podrobneje pojasnjeno, kaj je Apple naredil, da je novi sistem deloval opazno hitreje.

Če vas ta tema res zanima in želite izvedeti, kako določeni elementi iOS delujejo v praksi, priporočam ogled posnetka predavanja. Dolga je približno 40 minut in je na voljo na Applovi uradni spletni strani pod naslovom Seja 202: Kaj je novega v Cocoa Touch. Če ne želite zapraviti tričetrt ure z gledanjem posnetka konference, si lahko preberete bolj strnjen zapis zde, vendar je nekoliko tehničen. Za ostale vas bom poskusil s poenostavljenim povzetkom spodaj.

Oglejte si slike z razkritja iOS 12:

Pri iOS 12 se je Apple odločil, da se osredotoči na optimizacijo, saj se je veliko uporabnikov pritoževalo nad odpravljanjem napak (predvsem v povezavi z iOS 11). Velika večina negativnih odzivov se je nanašala na nekakšno "počasnost", "zataknjenost" in "neuglajenost" sistema in njegovih animacij. Applovi programerji so se torej poglobili v same osnove in premagali celoten sistem animacij znotraj iOS-a. Ta trud je bil sestavljen predvsem iz treh večjih popravkov, zaradi katerih iOS 12 deluje tako, kot deluje. Programerjem je uspelo odkriti pomanjkljivosti, ki so bile prisotne v iOS-u že od iOS 7.

1. Priprava podatkov

Prva sprememba je optimizacija tako imenovanega Cell Pre-fetch API-ja, ki je preprosto poskrbel za neke vrste pripravo podatkov, preden jih sistem dejansko potrebuje. Ne glede na to, ali je šlo za slike, animacije ali druge podatke, je moral sistem vnaprej predvajati potrebne datoteke v pomnilniku s tem API-jem, da so bile na voljo, ko so bile uporabljene, in tako ne bi prihajalo do skokov v obremenitvi procesorja, ki bi povzročali zgoraj omenjene težave s pretočnostjo. Kot se je izkazalo med temeljito revizijo tega algoritma, ta ni deloval povsem pravilno.

V nekaterih primerih je podatke vnaprej pripravil, v drugih ne. V drugih primerih je sistem naložil podatke, čeprav so bili že pripravljeni v predpomnilniku tega API-ja, včasih pa je prišlo do neke vrste »dvojnega nalaganja«. Vse to je povzročilo padce FPS med animacijami, sekanje in druge nedoslednosti v delovanju sistema.

2. Takojšnja zmogljivost

Druga sprememba je sprememba upravljanja porabe energije računalniških enot v napravi, pa naj gre za CPE ali GPE. V prejšnjih različicah sistema je trajalo občutno dlje, da je procesor opazil povečane zahteve po aktivnosti in s tem povečal svoje delovne frekvence. Poleg tega je to pospeševanje/pojemanje procesorja potekalo postopoma, tako da se je v veliko primerih zgodilo, da je sistem potreboval napajanje za neko nalogo, vendar ni bilo takoj na voljo, spet je prišlo do padcev FPS animacij itd. To se spremeni v iOS 12, ker je tu krivulja zmogljivosti procesorjev bistveno bolj agresivno prilagojena in postopno zvišanje/zmanjšanje frekvenc je zdaj takojšnje. Izvedba naj bo torej na voljo v trenutku, ko je potrebna.

3. Bolj popolna samodejna postavitev

Tretja sprememba se nanaša na vmesnik, ki ga je Apple uvedel v iOS 8. Gre za tako imenovani Auto-layout framework, ki je v iOS vstopil v času, ko je Apple začel povečevati zaslone svojih iPhone. Ogrodje je poskrbelo, da je bil videz uporabniškega vmesnika pravilen ne glede na vrsto in velikost zaslona, ​​na katerem so bili podatki upodobljeni. Gre za nekakšno berglo, ki razvijalcem pomaga optimizirati njihove aplikacije (pa ne le njih, to ogrodje je sestavni del sistema iOS kot takega in skrbi za pravilen prikaz vseh delov uporabniškega vmesnika) za več velikosti prikazov. Poleg tega je celoten sistem v veliki meri avtomatiziran. Ob podrobnem pregledu se je izkazalo, da je njegovo delovanje precej zahtevno za sistemske vire, največji vplivi na delovanje pa so se pokazali v iOS 11. V iOS 12 je bilo omenjeno orodje deležno precejšnje prenove in optimizacije, v trenutni obliki pa je vpliv na delovanje sistema je bistveno manjši, kar v veliki meri sprosti vire v CPU/GPU za potrebe drugih aplikacij in orodij.

Kot lahko vidite, je Apple res prevzel optimizacijske postopke od vrhunca in to se res vidi v končnem izdelku. Če imate lanske iPhone ali iPad, ne pričakujte preveč sprememb. Če pa imate napravo staro dve, tri, štiri leta, bo sprememba zagotovo več kot opazna. Čeprav je iOS 12 trenutno v zgodnji fazi, že deluje bistveno bolje kot katera koli različica iOS 1 na moji prvi generaciji iPad Air.

.