Închide anunțul

Deja la începutul anului, reprezentanții Apple pretindeau ei, că noul iOS 12 se va concentra în principal pe optimizare și va trebui să așteptăm câteva știri mai fundamentale până anul viitor. Cam la fel s-a spus și la keynote-ul de luni, în cadrul secțiunii despre iOS 12. Da, unele știri vor apărea într-adevăr în următoarea iterație a iOS, dar rolul principal îl joacă optimizarea, care va mulțumi în special proprietarii de mașini mai vechi ( despre modul în care iOS 12 a dat viață în mine. Veți putea citi iPad Air de prima generație deja în acest weekend). Ieri, în cadrul programului WWDC, a avut loc o prelegere în care a fost explicat mai detaliat ce a făcut Apple pentru ca noul sistem să funcționeze considerabil mai rapid.

Dacă sunteți cu adevărat interesat de acest subiect și doriți să știți cum funcționează în practică anumite elemente ale iOS, vă recomand să urmăriți înregistrarea prelegerii. Are o durată de aproximativ 40 de minute și este disponibil pe site-ul oficial Apple sub titlu Sesiunea 202: Ce este nou în Cocoa Touch. Dacă nu doriți să pierdeți trei sferturi de oră urmărind înregistrarea conferinței, puteți citi o transcriere mai concisă aici, cu toate acestea, este oarecum tehnic. Pentru ceilalți dintre voi, voi încerca un rezumat simplificat mai jos.

Vezi imaginile de la lansarea iOS 12:

Cu iOS 12, Apple a decis să se concentreze pe optimizare, deoarece mulți utilizatori s-au plâns de depanare (mai ales în legătură cu iOS 11). Marea majoritate a reacțiilor negative s-au referit la un fel de „încetinere”, „blocare” și „neliniște” a sistemului și a animațiilor sale. Prin urmare, programatorii Apple au aprofundat în elementele de bază și au depășit întregul sistem de animație din iOS. Acest efort a constat în principal din trei modificări majore care fac ca iOS 12 să funcționeze așa cum o face. Programatorii au reușit să descopere defecte care au fost prezente în iOS încă de la iOS 7.

1. Pregătirea datelor

Prima modificare este optimizarea așa-numitului API Cell Pre-fetch, care pur și simplu s-a ocupat de un fel de pregătire a datelor înainte ca sistemul să aibă efectiv nevoie de el. Fie că era vorba de imagini, animații sau alte date, sistemul trebuia să pre-reda fișierele necesare în memorie cu acest API, astfel încât acestea să fie disponibile atunci când au fost utilizate și astfel să nu existe salturi în încărcarea procesorului, ceea ce ar provoca problemele de fluiditate mai sus menționate. După cum sa dovedit în timpul unui audit amănunțit al acestui algoritm, acesta nu a funcționat destul de corect.

În unele cazuri a pregătit în prealabil datele, în altele nu. În alte cazuri, sistemul a încărcat datele deși erau deja pregătite în cache-ul acestui API și, uneori, a apărut un fel de „încărcare dublă”. Toate acestea au cauzat scăderi ale FPS în timpul animațiilor, tăierii și alte inconsecvențe în funcționarea sistemului.

2. Performanță instantanee

A doua modificare este modificarea managementului puterii unităților de calcul din dispozitiv, fie el CPU sau GPU. În versiunile anterioare ale sistemului, procesorul a durat mult mai mult pentru a observa cerințele crescute de activitate și, astfel, își crește frecvențele de operare. În plus, această accelerare/decelerare a procesorului a avut loc treptat, așa că în multe cazuri s-a întâmplat ca sistemul să aibă nevoie de putere pentru o anumită sarcină, dar nu a fost disponibil imediat și au existat din nou scăderi ale animațiilor FPS etc. Acest lucru se schimbă în iOS 12, pentru că aici curba de performanță a procesoarelor a fost ajustată semnificativ mai agresiv, iar creșterea/scăderea treptată a frecvențelor este acum imediată. Performanța ar trebui astfel să fie disponibilă în momentele în care este nevoie.

3. Aspect automat mai perfect

A treia modificare se referă la interfața pe care Apple a introdus-o în iOS 8. Este așa-numitul framework Auto-layout, care a intrat în iOS în momentul în care Apple a început să mărească dimensiunea display-urilor iPhone. Cadrul s-a asigurat că aspectul interfeței cu utilizatorul este corect, indiferent de tipul și dimensiunea afișajului pe care au fost redate datele. Este un fel de cârjă care îi ajută pe dezvoltatori să-și optimizeze aplicațiile (dar nu numai pe ei, acest cadru este o parte integrantă a sistemului iOS ca atare și are grijă de afișarea corectă a tuturor părților interfeței cu utilizatorul) pentru mai multe dimensiuni de afișare. În plus, întregul sistem este în mare parte automatizat. La o examinare detaliată, s-a dovedit că funcționarea sa este destul de solicitantă pentru resursele sistemului, iar cele mai mari impacte asupra performanței au apărut în iOS 11. În iOS 12, instrumentul menționat mai sus a primit o reproiectare și o optimizare semnificativă, iar în forma sa actuală, impactul asupra funcționării sistemului este considerabil mai mic, ceea ce eliberează în mare măsură resurse în CPU/GPU pentru nevoile altor aplicații și instrumente.

După cum puteți vedea, Apple a luat cu adevărat procesele de optimizare de la vârf și se vede cu adevărat în produsul final. Dacă aveți iPhone-uri sau iPad-uri de anul trecut, nu vă așteptați la prea multe schimbări. Dar dacă deții un dispozitiv vechi de doi, trei, patru ani, schimbarea va fi cu siguranță mai mult decât vizibilă. Chiar dacă iOS 12 este în prezent în fazele sale incipiente, rulează deja mult mai bine decât orice versiune de iOS 1 pe iPad Air de prima generație.

.