Zatvori oglas

Već početkom godine predstavnici Applea tvrdili su, da će se novi iOS 12 fokusirati uglavnom na optimizaciju te ćemo neke temeljnije novosti morati pričekati do sljedeće godine. Otprilike isto rečeno je iu uvodnom izlaganju u ponedjeljak, tijekom sekcije o iOS-u 12. Da, neke će se novosti doista pojaviti u nadolazećoj iteraciji iOS-a, ali glavnu ulogu igra optimizacija, što će posebno obradovati vlasnike starijih strojeva ( o tome kako mi je iOS 12 udahnuo život Već ovog vikenda moći ćete čitati 1. generacija iPada Air). Jučer je u sklopu programa WWDC održano predavanje na kojem je detaljnije objašnjeno što je Apple napravio kako bi novi sustav radio osjetno brže.

Ako vas ova tema stvarno zanima i želite znati kako pojedini elementi iOS-a funkcioniraju u praksi, preporučam pogledati snimku predavanja. Traje oko 40 minuta i dostupan je na Appleovim službenim stranicama pod naslovom Sesija 202: Što je novo u Cocoa Touchu. Ako ne želite gubiti tri četvrt sata gledajući snimku konferencije, možete pročitati sažetiji transkript ovdje, međutim, pomalo je tehnički. Za vas ostale, pokušat ću dati pojednostavljeni sažetak u nastavku.

Pogledajte slike s predstavljanja iOS 12:

S iOS-om 12, Apple se odlučio usredotočiti na optimizaciju, jer su se mnogi korisnici žalili na otklanjanje pogrešaka (osobito u vezi s iOS-om 11). Velika većina negativnih reakcija odnosila se na neku vrstu "sporosti", "zaglavljenosti" i "neuglađenosti" sustava i njegovih animacija. Appleovi programeri su stoga ušli u same osnove i prevladali cijeli sustav animacije unutar iOS-a. Ovaj napor sastojao se prvenstveno od tri velika podešavanja koja čine da iOS 12 radi onako kako radi. Programeri su uspjeli otkriti nedostatke koji su prisutni u iOS-u još od iOS-a 7.

1. Priprema podataka

Prva promjena je optimizacija takozvanog Cell Pre-fetch API-ja koji se jednostavno pobrinuo za svojevrsnu pripremu podataka prije nego što ih sustav zaista treba. Bilo da se radilo o slikama, animacijama ili drugim podacima, sustav je morao unaprijed reproducirati potrebne datoteke u memoriji s ovim API-jem kako bi bile dostupne kada se koriste i stoga ne bi dolazilo do skokova u opterećenju procesora koji bi uzrokovali gore spomenuti problemi fluidnosti. Kako se pokazalo tijekom temeljite revizije ovog algoritma, nije radio sasvim ispravno.

U nekim je slučajevima unaprijed pripremio podatke, u drugima nije. U drugim slučajevima sustav je učitavao podatke iako su već bili pripremljeni u cacheu ovog API-ja, a ponekad se događalo i svojevrsno "dvostruko učitavanje". Sve je to uzrokovalo padove FPS-a tijekom animacija, sjeckanja i ostale nedosljednosti u radu sustava.

2. Trenutačna izvedba

Druga promjena je modifikacija upravljanja napajanjem računalnih jedinica u uređaju, bilo CPU ili GPU. U ranijim verzijama sustava procesoru je trebalo osjetno više vremena da primijeti povećane zahtjeve aktivnosti i time poveća svoje radne frekvencije. Osim toga, ovo ubrzanje/usporavanje procesora odvijalo se postupno, pa se u dosta slučajeva događalo da sustavu treba napajanje za neki zadatak, ali nije bilo odmah dostupno, a opet je dolazilo do pada FPS animacija itd. To se mijenja u iOS 12, jer je tu krivulja performansi procesora znatno agresivnije prilagođena, a postupno povećanje/smanjenje frekvencija sada je trenutno. Izvedba bi stoga trebala biti dostupna u trenucima kada je potrebna.

3. Savršeniji Auto-layout

Treća promjena odnosi se na sučelje koje je Apple uveo u iOS 8. Riječ je o tzv. Auto-layout frameworku koji je u iOS ušao u vrijeme kada je Apple počeo povećavati veličinu zaslona svojih iPhonea. Okvir se pobrinuo da izgled korisničkog sučelja bude ispravan bez obzira na vrstu i veličinu zaslona na kojem su podaci prikazani. Riječ je o svojevrsnoj štaci koja programerima pomaže optimizirati svoje aplikacije (ali ne samo njih, ovaj framework je sastavni dio iOS sustava kao takvog i brine se za ispravan prikaz svih dijelova korisničkog sučelja) za nekoliko veličina prikaza. Osim toga, cijeli ovaj sustav je u velikoj mjeri automatiziran. Detaljnim ispitivanjem pokazalo se da je njegov rad dosta zahtjevan za resurse sustava, a najveći utjecaji na performanse su se pojavili u iOS-u 11. U iOS-u 12 spomenuti je alat doživio značajan redizajn i optimizaciju, au sadašnjem obliku, utjecaj na rad sustava znatno je manji, što u velikoj mjeri oslobađa resurse u CPU/GPU za potrebe drugih aplikacija i alata.

Kao što vidite, Apple je doista preuzeo procese optimizacije od vrhunca i to se stvarno vidi u konačnom proizvodu. Ako imate prošlogodišnji iPhone ili iPad, ne očekujte previše promjena. No ako posjedujete uređaj star dvije, tri, četiri godine, promjena će svakako biti više nego vidljiva. Iako je iOS 12 trenutačno u ranoj fazi, već radi znatno bolje od bilo koje verzije iOS-a 1 na mojoj prvoj generaciji iPad Aira.

.