Apple a messo a punto delle modifiche sul nuovo sistema, infatti se avete installato la prima beta di iOS 12, avete avuto modo di notare che le animazioni  sono più fluide rispetto alle precedenti versioni.

 

Alla WWDC18 è stato spiegato durante la sessione “What’s New in Cocoa Touch” , con il nuovo iOS18 gli ingegneri Apple hanno colto l’occasione per risolvere i problemi d’animazioni del sistema operativo. Gli ingegneri, con Josh Shaffer come super visore hanno individuato le cause nei cali di frame durante l’analisi di app definite first-party.

La gestione di iOS è il primo problema identificato, infatti i dati che necessitano di essere realizzati mentre l’utente naviga nel sistema, diventano oggetti in una lista di opzioni in un menu. Con iOS 10 è stata introdotta un API chiamata Cell Pre-fetch che precaricando i dati in background aveva il compito di risolvere questo problema prima del tempo, per fare in modo che i contenuti apparissero sullo schermo senza ritardi o problemi simili.

Però nonostante che API funzionasse bene, persisteva la perdita di frame durante lo scrolling, causata proprio dal precaricamento di dati apparsi nell’immediato sul display. Quindi la CPU doveva gestire non solo i dati caricati, ma anche quelli in precaricamento. L’ Azienda di Cupertino ha quindi aggiornato l’API pre-fetch per far sì che ciò non si verifichi ancora, dando la priorità assoluta al rendering immediatamente più importante e accodando il resto dei dati.

 

Mentre il secondo e più grave problema riguarda invece il calo di frame in momenti in cui i dati da gestire erano relativamente pochi. Momenti in cui la CPU non era in sovraccarico e poteva lavorare ad una velocità inferiore per preservare la durata della batteria. Apple ha infatti scoperto che la CPU non reagiva immediatamente ad un lavoro extra con un incremento della velocità di clock, causando quindi un collo di bottiglia.

Con  iOS 12, la CPU risponderà molto rapidamente in queste situazioni, e incrementerà la velocità di clock in modo appropriato per svolgere un compito ad un rate maggiore. Quando è completato, la CPU ridurrà nel minor tempo possibile la velocità di clock.

Inoltre Apple ha poi aggiornato il suo framework Auto-layout, che permette agli sviluppatori di definire il posizionamento del contenuto di un’app sugli schermi di varie dimensioni. In iOS 12 il framework consumerà meno risorse rispetto alle precedenti versioni.

Oltre questo, Shaffer ha supervisionato una nuova tecnica chiamata “Auotmatic Backing Stores” che consente ad iOS 12 di ridurre il quantitativo di memoria che un’app  richiede per completare un compito.

Infine, Apple ha dichiarato di aver lavorato per migliorare le prestazioni con iOS 12, e le novità di certo non mancano. Nelle prima beta le novità si notano, nonostante i tipici bug di tali versioni per sviluppatori.

 

Apple è riuscita a rendere più fluide le animazioni di iOS 12

Lascia un commento