Uždaryti skelbimą

Jau metų pradžioje „Apple“ atstovai jie tvirtino, kad naujoji „iOS 12“ daugiausia dėmesio skirs optimizavimui, o esminių naujienų teks laukti iki kitų metų. Panašiai buvo pasakyta ir pirmadienio pagrindiniame pranešime, skyrelyje apie iOS 12. Taip, kai kurios naujienos tikrai pasirodys būsimoje iOS iteracijoje, tačiau pagrindinį vaidmenį atlieka optimizavimas, kuris ypač patiks senesnių mašinų savininkams ( apie tai, kaip iOS 12 įkvėpė mano gyvybę Jau šį savaitgalį galėsite skaityti 1 kartos iPad Air). Vakar WWDC programos metu vyko paskaita, kurioje buvo plačiau paaiškinta, ką Apple padarė, kad naujoji sistema veiktų pastebimai greičiau.

Jei tikrai domitės šia tema ir norite sužinoti, kaip tam tikri iOS elementai veikia praktiškai, rekomenduoju pažiūrėti paskaitos įrašą. Jis trunka apie 40 minučių ir yra prieinamas oficialioje „Apple“ svetainėje pagal pavadinimą 202 seansas: „Cocoa Touch“ naujovės. Jei nenorite sugaišti trijų ketvirtadalių valandos žiūrėdami konferencijos įrašą, galite paskaityti glaustesnį stenogramą čiatačiau yra šiek tiek techninis. Likusiems pabandysiu toliau pateikti supaprastintą santrauką.

Peržiūrėkite vaizdus iš „iOS 12“ pristatymo:

Naudodama iOS 12, Apple nusprendė sutelkti dėmesį į optimizavimą, nes daugelis vartotojų skundėsi dėl derinimo (ypač dėl iOS 11). Didžioji dauguma neigiamų reakcijų buvo susijusios su sistemos ir jos animacijų „lėtumu“, „užstrigimu“ ir „neglotnumu“. Todėl „Apple“ programuotojai gilinosi į pačius pagrindus ir įveikė visą „iOS“ animacijos sistemą. Šias pastangas daugiausia sudarė trys pagrindiniai pakeitimai, dėl kurių „iOS 12“ veikia taip, kaip veikia. Programuotojams pavyko atskleisti „iOS“ trūkumus nuo „iOS 7“.

1. Duomenų paruošimas

Pirmasis pakeitimas yra vadinamosios Cell Pre-fetch API optimizavimas, kuris tiesiog pasirūpino savotišku duomenų paruošimu, kol sistemai to iš tikrųjų prireikė. Nesvarbu, ar tai buvo vaizdai, animacijos ar kiti duomenys, sistema turėjo iš anksto paleisti reikiamus failus atmintyje su šia API, kad jie būtų pasiekiami juos naudojant ir nebūtų procesoriaus apkrovos šuolių, dėl kurių aukščiau paminėtos sklandumo problemos. Kaip paaiškėjo atlikus išsamų šio algoritmo auditą, jis veikė ne visai tinkamai.

Vienais atvejais jis duomenis ruošė iš anksto, kitais – ne. Kitais atvejais sistema įkeldavo duomenis, nors jie jau buvo paruošti šios API talpykloje, o kartais įvykdavo savotiškas „dvigubas įkėlimas“. Visa tai lėmė FPS sumažėjimą animacijos metu, pjaustymą ir kitus sistemos veikimo neatitikimus.

2. Momentinis našumas

Antrasis pakeitimas yra įrenginyje esančių skaičiavimo blokų, nesvarbu, ar tai būtų CPU, ar GPU, galios valdymo modifikavimas. Ankstesnėse sistemos versijose procesoriui prireikė pastebimai ilgiau, kad pastebėtų padidėjusius veiklos poreikius ir taip padidintų savo veikimo dažnius. Be to, šis procesoriaus įsibėgėjimas/lėtėjimas vyko palaipsniui, todėl daugeliu atvejų atsitikdavo taip, kad sistemai prireikė galios kokiai nors užduočiai atlikti, tačiau ji nebuvo iš karto pasiekiama, ir vėl sumažėjo FPS animacijos ir pan. iOS 12, nes būtent čia procesorių našumo kreivė buvo koreguojama žymiai agresyviau, o laipsniškas dažnių didėjimas/mažėjimas dabar iš karto. Taigi spektaklis turėtų būti pasiekiamas tada, kai jo reikia.

3. Tobulesnis automatinis išdėstymas

Trečiasis pakeitimas yra susijęs su sąsaja, kurią Apple pristatė iOS 8. Tai vadinamoji automatinio išdėstymo sistema, kuri įėjo į iOS tuo metu, kai Apple pradėjo didinti savo iPhone ekranų dydį. Sistema užtikrino, kad vartotojo sąsajos išvaizda būtų teisinga, neatsižvelgiant į ekrano tipą ir dydį, kuriame buvo pateikti duomenys. Tai savotiškas ramentas, padedantis kūrėjams optimizuoti savo programas (bet ne tik jiems, ši sistema yra neatsiejama iOS sistemos dalis ir rūpinasi teisingu visų vartotojo sąsajos dalių atvaizdavimu) keliems ekranų dydžiams. Be to, visa ši sistema iš esmės yra automatizuota. Išsamiai išnagrinėjus paaiškėjo, kad jo veikimas yra gana reiklus sistemos resursams, o didžiausios įtakos našumui turėjo iOS 11. iOS 12 versijoje minėtas įrankis buvo gerokai perdarytas ir optimizuotas, o dabartinėje formoje poveikis sistemos veikimui yra žymiai mažesnis, o tai iš esmės atlaisvina CPU/GPU resursų kitų programų ir įrankių poreikiams.

Kaip matote, „Apple“ optimizavimo procesus tikrai paėmė iš viršaus ir tai tikrai atsispindi galutiniame produkte. Jei turite praėjusių metų „iPhone“ ar „iPad“, nesitikėkite per daug pokyčių. Bet jei turite dvejų, trejų, ketverių metų senumo įrenginį, pokytis tikrai bus daugiau nei pastebimas. Nors „iOS 12“ šiuo metu yra ankstyvoje stadijoje, ji jau veikia žymiai geriau nei bet kuri „iOS 1“ versija mano 11-osios kartos „iPad Air“.

.