Lukk annonse

Allerede i begynnelsen av året, representanter for Apple hevdet de, at den nye iOS 12 vil fokusere hovedsakelig på optimalisering og vi må vente på noen mer fundamentale nyheter til neste år. Mye av det samme ble sagt på keynoten på mandag, under avsnittet om iOS 12. Ja, noen nyheter vil faktisk dukke opp i den kommende iterasjonen av iOS, men hovedrollen spilles av optimalisering, som spesielt vil glede eiere av eldre maskiner ( om hvordan iOS 12 blåste liv i min Du vil kunne lese 1. generasjons iPad Air allerede denne helgen). I går ble det som en del av WWDC-programmet holdt et foredrag hvor det ble forklart mer detaljert hva Apple har gjort for å få det nye systemet til å gå merkbart raskere.

Hvis du virkelig er interessert i dette emnet og vil vite hvordan enkelte elementer av iOS fungerer i praksis, anbefaler jeg å se opptaket av forelesningen. Den er omtrent 40 minutter lang og er tilgjengelig på Apples offisielle nettside under tittelen Økt 202: Hva er nytt i Cocoa Touch. Hvis du ikke vil kaste bort tre kvarter på å se opptaket av konferansen, kan du lese en mer kortfattet transkripsjon herer imidlertid noe teknisk. For dere andre skal jeg prøve en forenklet oppsummering nedenfor.

Sjekk ut bildene fra avdukingen av iOS 12:

Med iOS 12 bestemte Apple seg for å fokusere på optimalisering, da mange brukere klaget på feilsøking (spesielt i forbindelse med iOS 11). De aller fleste negative reaksjoner var knyttet til en eller annen form for "treghet", "fasthet" og "ujevnhet" i systemet og dets animasjoner. Apples programmerere fordypet seg derfor i det helt grunnleggende og overvant hele animasjonssystemet i iOS. Denne innsatsen besto først og fremst av tre store justeringer som får iOS 12 til å fungere som den gjør. Programmerere har klart å avdekke feil som har vært tilstede i iOS siden iOS 7.

1. Dataklargjøring

Den første endringen er optimaliseringen av det såkalte Cell Pre-fetch API, som rett og slett tok seg av en slags dataforberedelse før systemet faktisk trengte det. Enten det var bilder, animasjoner eller andre data, måtte systemet forhåndsspille de nødvendige filene i minnet med denne API-en slik at de ville være tilgjengelige når de ble brukt, og dermed ville det ikke være noen hopp i prosessorbelastningen, noe som ville føre til de ovennevnte fluiditetsproblemene. Som det viste seg under en grundig revisjon av denne algoritmen, fungerte den ikke helt riktig.

I noen tilfeller forberedte han dataene på forhånd, i andre gjorde han det ikke. I andre tilfeller lastet systemet dataene selv om de allerede var forberedt i hurtigbufferen til denne API-en, og noen ganger skjedde det en slags "dobbeltlasting". Alt dette forårsaket fall i FPS under animasjoner, hakking og andre inkonsekvenser i systemets drift.

2. Umiddelbar ytelse

Den andre endringen er endringen av strømstyringen til dataenhetene i enheten, enten det er CPU eller GPU. I tidligere versjoner av systemet tok det merkbart lengre tid for prosessoren å merke økte aktivitetskrav og dermed øke driftsfrekvensene. I tillegg skjedde denne akselerasjonen/retardasjonen av prosessoren gradvis, så i mange tilfeller hendte det at systemet trengte strøm til en eller annen oppgave, men det var ikke umiddelbart tilgjengelig, og det ble igjen fall i FPS-animasjoner osv. Dette endres i iOS 12, fordi det er her ytelseskurven til prosessorene har blitt justert betydelig mer aggressivt, og den gradvise økningen/reduksjonen i frekvenser er nå umiddelbar. Ytelsen skal dermed være tilgjengelig i de øyeblikkene den er nødvendig.

3. Mer perfekt Auto-layout

Den tredje endringen gjelder grensesnittet som Apple introduserte i iOS 8. Det er det såkalte Auto-layout-rammeverket, som kom inn i iOS på den tiden da Apple begynte å øke størrelsen på iPhone-skjermene sine. Rammeverket sørget for at utseendet til brukergrensesnittet var korrekt uavhengig av type og størrelse på skjermen dataene ble gjengitt på. Det er en slags krykke som hjelper utviklere med å optimalisere applikasjonene sine (men ikke bare dem, dette rammeverket er en integrert del av iOS-systemet som sådan og tar seg av riktig visning av alle deler av brukergrensesnittet) for flere skjermstørrelser. I tillegg er hele dette systemet i stor grad automatisert. Etter detaljert undersøkelse viste det seg at driften er ganske krevende for systemressurser, og de største innvirkningene på ytelsen dukket opp i iOS 11. I iOS 12 har det nevnte verktøyet fått en betydelig redesign og optimalisering, og i sin nåværende form er dets innvirkningen på systemdriften er betydelig mindre, noe som i stor grad frigjør ressurser i CPU/GPU for behovene til andre applikasjoner og verktøy.

Som du kan se, har Apple virkelig tatt optimaliseringsprosessene fra toppen, og det vises virkelig i sluttproduktet. Hvis du har fjorårets iPhone eller iPad, ikke forvent for mange endringer. Men hvis du eier en enhet som er to, tre, fire år gammel, vil endringen definitivt være mer enn merkbar. Selv om iOS 12 for øyeblikket er i sine tidlige stadier, kjører den allerede betydelig bedre enn noen versjon av iOS 1 på min 11. generasjon iPad Air.

.