Sule kuulutus

Juba aasta alguses Apple’i esindajad nad väitsid, et uus iOS 12 keskendub peamiselt optimeerimisele ja mõnda põhjapanevamat uudist tuleb oodata järgmise aastani. Sama öeldi ka esmaspäeval iOS 12-teemalises peatükis. Jah, iOS-i eelseisvas iteratsioonis ilmuvad mõned uudised, kuid peamist rolli mängib optimeerimine, mis rõõmustab eriti vanemate masinate omanikke ( selle kohta, kuidas iOS 12 minule elu sisse puhus Saate juba sel nädalavahetusel lugeda 1. põlvkonna iPad Airi). Eile toimus WWDC programmi raames loeng, kus selgitati täpsemalt, mida Apple on teinud, et uus süsteem töötaks märgatavalt kiiremini.

Kui olete selle teema vastu tõesti huvitatud ja soovite teada, kuidas iOS-i teatud elemendid praktikas töötavad, siis soovitan vaadata loengu salvestust. See on umbes 40 minutit pikk ja saadaval Apple'i ametlikul veebisaidil pealkirja all 202. seanss: Cocoa Touchi uudised. Kes ei taha kolmveerand tundi konverentsi salvestuse vaatamisele raisata, võib lugeda sisutihedamat stenogrammi siin, on siiski mõnevõrra tehniline. Teiste jaoks proovin allpool lihtsustatud kokkuvõtet.

Vaadake iOS 12 esitlemise pilte:

Apple otsustas keskenduda iOS 12 optimeerimisele, kuna paljud kasutajad kaebasid silumise üle (eriti seoses iOS 11-ga). Valdav enamus negatiivsetest reaktsioonidest oli seotud süsteemi ja selle animatsioonide mingisuguse "aegluse", "kinnijäämise" ja "ebatasasusega". Seetõttu süvenesid Apple'i programmeerijad põhitõdedesse ja said üle kogu iOS-i animatsioonisüsteemist. See pingutus koosnes peamiselt kolmest suurest muudatusest, mis panevad iOS 12 töötama nii, nagu ta töötab. Programmeerijatel on õnnestunud paljastada vead, mis on iOS-is esinenud alates iOS 7-st.

1. Andmete ettevalmistamine

Esimene muudatus on nn Cell Pre-fetch API optimeerimine, mis lihtsalt hoolitses omamoodi andmete ettevalmistamise eest enne, kui süsteem seda tegelikult vajas. Olgu tegemist piltide, animatsioonide või muude andmetega, süsteem pidi selle API-ga vajalikud failid mällu eelesitama, et need oleksid kasutusel ja seega ei tekiks protsessori koormuse hüppeid, mis põhjustaksid ülalmainitud voolavusprobleemid. Nagu selle algoritmi põhjaliku auditi käigus selgus, ei töötanud see päris korrektselt.

Mõnel juhul valmistas ta andmed ette, mõnel juhul mitte. Muudel juhtudel laadis süsteem andmed, kuigi need olid selle API vahemälus juba ette valmistatud ja mõnikord toimus omamoodi "topeltlaadimine". Kõik see põhjustas animatsioonide ajal FPS-i langust, tükeldamist ja muid ebakõlasid süsteemi töös.

2. Vahetu jõudlus

Teine muudatus on seadmes olevate arvutusüksuste toitehalduse muutmine, olgu selleks siis CPU või GPU. Süsteemi varasemates versioonides kulus protsessoril märgatavalt kauem aega, et märgata suurenenud aktiivsusnõudlust ja seeläbi suurendada oma töösagedusi. Lisaks toimus see protsessori kiirendamine/aeglustumine järk-järgult, nii et paljudel juhtudel juhtus, et süsteem vajas mõne ülesande täitmiseks toidet, kuid see ei olnud kohe saadaval ja jälle tekkisid FPS-i animatsioonid jne. See muutub iOS 12, sest just siin on protsessorite jõudluskõverat oluliselt agressiivsemalt reguleeritud ning sageduste järkjärguline tõus/langus on nüüd kohene. Etendus peaks seega olema kättesaadav just siis, kui seda vajatakse.

3. Täiuslikum automaatne paigutus

Kolmas muudatus puudutab liidest, mille Apple tutvustas iOS 8-s. See on niinimetatud automaatse paigutuse raamistik, mis sisenes iOS-i ajal, mil Apple hakkas oma iPhone'i ekraanide suurust suurendama. Raamistik hoolitses selle eest, et kasutajaliidese välimus oleks korrektne olenemata kuvari tüübist ja suurusest, millel andmed renderdati. See on omamoodi kark, mis aitab arendajatel optimeerida oma rakendusi (aga mitte ainult neid, see raamistik on iOS-i süsteemi kui sellise lahutamatu osa ja hoolitseb kasutajaliidese kõigi osade õige kuvamise eest) mitme ekraani suuruse jaoks. Lisaks on kogu see süsteem suures osas automatiseeritud. Põhjalikul uurimisel selgus, et selle töö on süsteemiressurssidele üsna nõudlik ning suurimad mõjud jõudlusele ilmnesid iOS 11-s. iOS 12 puhul on eelnimetatud tööriist saanud olulise ümberkujunduse ja optimeerimise ning praegusel kujul mõju süsteemi toimimisele on tunduvalt väiksem, mis vabastab suures osas protsessori/graafikaprotsessori ressursse muude rakenduste ja tööriistade vajadusteks.

Nagu näete, on Apple optimeerimisprotsessid tõesti tipust võtnud ja see kajastub tõesti lõpptootes. Kui teil on eelmise aasta iPhone'id või iPadid, ärge oodake liiga palju muudatusi. Aga kui teil on kaks, kolm, neli aastat vana seade, on muutus kindlasti rohkem kui märgatav. Kuigi iOS 12 on praegu algstaadiumis, töötab see minu 1. põlvkonna iPad Airis juba oluliselt paremini kui ükski iOS 11 versioon.

.