Sulje mainos

Jo vuoden alussa Applen edustajat he väittivät, että uusi iOS 12 keskittyy pääasiassa optimointiin ja joudumme odottamaan perustavanlaatuisempia uutisia ensi vuoteen. Sama sanottiin maanantain pääpuhuessa iOS 12:ta käsittelevässä osiossa. Kyllä, iOS:n tulevassa iteraatiossa tulee todellakin joitain uutisia, mutta pääroolissa on optimointi, mikä miellyttää erityisesti vanhempien koneiden omistajia ( siitä, kuinka iOS 12 puhalsi elämääni. Voit lukea 1. sukupolven iPad Airin jo tänä viikonloppuna). Eilen osana WWDC-ohjelmaa pidettiin luento, jossa kerrottiin tarkemmin, mitä Apple on tehnyt saadakseen uuden järjestelmän toimimaan huomattavasti nopeammin.

Jos olet todella kiinnostunut tästä aiheesta ja haluat tietää, miten iOS:n tietyt elementit toimivat käytännössä, suosittelen katsomaan luennon tallenteen. Sen pituus on noin 40 minuuttia ja se on saatavilla Applen virallisella verkkosivustolla otsikon alla Istunto 202: Mitä uutta Cocoa Touchissa. Jos et halua tuhlata kolmea neljäsosaa tuntia konferenssin tallenteen katsomiseen, voit lukea tiiviimmän tekstin zdeon kuitenkin hieman tekninen. Teille muille kokeilen alla olevaa yksinkertaistettua yhteenvetoa.

Katso kuvat iOS 12:n julkistamisesta:

iOS 12:ssa Apple päätti keskittyä optimointiin, koska monet käyttäjät valittivat virheenkorjauksesta (etenkin iOS 11:n yhteydessä). Suurin osa negatiivisista reaktioista liittyi jonkinlaiseen järjestelmän ja sen animaatioiden "hitaisuuteen", "juutumiseen" ja "epätasaisuuteen". Siksi Applen ohjelmoijat syventyivät aivan perusasioihin ja voittivat koko iOS-animaatiojärjestelmän. Tämä ponnistus koostui pääasiassa kolmesta suuresta parannuksesta, jotka saavat iOS 12:n toimimaan niin kuin se toimii. Ohjelmoijat ovat onnistuneet paljastamaan puutteet, jotka ovat olleet iOS:ssä iOS 7:stä lähtien.

1. Tietojen valmistelu

Ensimmäinen muutos on ns. Cell Pre-fetch API:n optimointi, joka yksinkertaisesti huolehti eräänlaisesta tietojen valmistelusta ennen kuin järjestelmä sitä todella tarvitsi. Olipa kyse kuvista, animaatioista tai muusta datasta, järjestelmän täytyi esitoistaa tarvittavat tiedostot muistissa tällä API:lla, jotta ne olisivat käytettävissä, kun niitä käytetään, eikä prosessorin kuormituksessa olisi hyppyjä, jotka aiheuttaisivat edellä mainitut juoksevuusongelmat. Kuten tämän algoritmin perusteellisessa tarkastuksessa kävi ilmi, se ei toiminut aivan oikein.

Joissakin tapauksissa hän valmisteli tiedot etukäteen, toisissa ei. Muissa tapauksissa järjestelmä latasi tiedot, vaikka se oli jo valmisteltu tämän API:n välimuistissa, ja joskus tapahtui eräänlainen "kaksoislataus". Kaikki tämä aiheutti FPS:n pudotuksia animaatioiden aikana, katkomista ja muita epäjohdonmukaisuuksia järjestelmän toiminnassa.

2. Välitön suorituskyky

Toinen muutos on laitteessa olevien laskentayksiköiden virranhallinnan muuttaminen, oli se sitten CPU tai GPU. Järjestelmän aikaisemmissa versioissa kesti huomattavasti kauemmin, ennen kuin prosessori havaitsi lisääntyneet aktiivisuusvaatimukset ja nosti siten toimintataajuuksiaan. Lisäksi tämä prosessorin kiihdytys/hidastuminen tapahtui asteittain, joten monissa tapauksissa tapahtui, että järjestelmä tarvitsi virtaa johonkin tehtävään, mutta sitä ei ollut heti saatavilla, ja FPS-animaatioissa jne. iOS 12, koska tässä prosessorien suorituskykykäyrää on säädetty huomattavasti aggressiivisemmin, ja taajuuksien asteittainen nousu/lasku on nyt välitöntä. Esityksen tulee siis olla saatavilla juuri silloin, kun sitä tarvitaan.

3. Täydellisempi automaattinen asettelu

Kolmas muutos koskee Applen iOS 8:ssa esittelemää käyttöliittymää. Tämä on ns. Auto-layout-kehys, joka tuli iOS:iin silloin, kun Apple alkoi kasvattaa iPhone-näyttöjen kokoa. Kehys varmisti, että käyttöliittymän ulkoasu oli oikea riippumatta näytön tyypistä ja koosta data renderöitiin. Se on eräänlainen kainalosauva, joka auttaa kehittäjiä optimoimaan sovelluksiaan (mutta ei vain heitä, tämä kehys on kiinteä osa iOS-järjestelmää sellaisenaan ja huolehtii käyttöliittymän kaikkien osien oikeasta näytöstä) useille näyttökokoille. Lisäksi koko järjestelmä on pitkälti automatisoitu. Yksityiskohtaisessa tarkastelussa kävi ilmi, että sen toiminta on erittäin vaativaa järjestelmäresursseille ja suurimmat vaikutukset suorituskykyyn ilmestyivät iOS 11:ssä. iOS 12:ssa edellä mainittu työkalu on saanut merkittävän uudelleensuunnittelun ja optimoinnin, ja nykyisessä muodossaan sen vaikutus järjestelmän toimintaan on huomattavasti pienempi, mikä vapauttaa suurelta osin resursseja CPU/GPU:ssa muiden sovellusten ja työkalujen tarpeisiin.

Kuten näette, Apple on todella ottanut optimointiprosessit huipusta ja se näkyy todella lopputuotteessa. Jos sinulla on viime vuoden iPhonet tai iPadit, älä odota liikaa muutoksia. Mutta jos omistat kaksi, kolme, neljä vuotta vanhan laitteen, muutos on varmasti enemmän kuin huomattava. Vaikka iOS 12 on tällä hetkellä alkuvaiheessa, se toimii jo huomattavasti paremmin kuin mikään iOS 1:n versio 11. sukupolven iPad Airissani.

.