Stäng annons

Redan i början av året, representanter för Apple hävdade de, att nya iOS 12 kommer att fokusera främst på optimering och vi får vänta på lite mer fundamentala nyheter till nästa år. Mycket samma sak sades vid keynoten på måndagen, under avsnittet om iOS 12. Ja, vissa nyheter kommer verkligen att dyka upp i den kommande iterationen av iOS, men huvudrollen spelas av optimering, vilket särskilt kommer att glädja ägare av äldre maskiner ( om hur iOS 12 blåste liv i min Du kommer att kunna läsa 1:a generationens iPad Air redan i helgen). I går, som en del av WWDC-programmet, hölls en föreläsning där det förklarades mer i detalj vad Apple har gjort för att få det nya systemet att gå märkbart snabbare.

Om du verkligen är intresserad av detta ämne och vill veta hur vissa delar av iOS fungerar i praktiken rekommenderar jag att du tittar på inspelningen av föreläsningen. Den är cirka 40 minuter lång och finns tillgänglig på Apples officiella hemsida under titeln Session 202: Vad är nytt i Cocoa Touch. Om du inte vill slösa tre kvarts timme på att titta på inspelningen av konferensen kan du läsa en mer kortfattad utskrift zdeär dock något tekniskt. För er andra ska jag prova en förenklad sammanfattning nedan.

Kolla in bilderna från avtäckningen av iOS 12:

Med iOS 12 bestämde sig Apple för att fokusera på optimering, eftersom många användare klagade på felsökning (särskilt i samband med iOS 11). De allra flesta negativa reaktioner relaterade till någon form av "långsamhet", "fasthet" och "ojämnhet" i systemet och dess animationer. Apples programmerare fördjupade sig därför i det allra grundläggande och övervann hela animationssystemet inom iOS. Denna insats bestod främst av tre stora justeringar som gör att iOS 12 fungerar som det gör. Programmerare har lyckats avslöja brister som har funnits i iOS sedan iOS 7.

1. Databeredning

Den första förändringen är optimeringen av det så kallade Cell Pre-fetch API, som helt enkelt tog hand om ett slags dataförberedelse innan systemet faktiskt behövde det. Oavsett om det gällde bilder, animationer eller annan data, var systemet tvunget att förspela de nödvändiga filerna i minnet med detta API så att de skulle vara tillgängliga när de användes och det skulle därför inte bli några hopp i processorbelastningen, vilket skulle orsaka ovannämnda fluiditetsproblem. Som det visade sig under en noggrann granskning av denna algoritm fungerade den inte riktigt korrekt.

I vissa fall förberedde han uppgifterna, i andra inte. I andra fall laddade systemet in data trots att den redan var förberedd i detta API:s cache, och ibland inträffade en slags "dubbelladdning". Allt detta orsakade fall i FPS under animationer, hackning och andra inkonsekvenser i systemets drift.

2. Omedelbar prestanda

Den andra förändringen är modifieringen av strömhanteringen för beräkningsenheterna i enheten, oavsett om det är CPU eller GPU. I tidigare versioner av systemet tog det märkbart längre tid för processorn att märka ökade aktivitetskrav och därmed öka sina driftsfrekvenser. Dessutom skedde denna acceleration/retardation av processorn gradvis, så i många fall hände det att systemet behövde ström för någon uppgift, men det var inte omedelbart tillgängligt, och det blev återigen fall i FPS-animationer etc. Detta förändras i iOS 12, eftersom det är här har prestandakurvan för processorerna justerats betydligt mer aggressivt, och den gradvisa ökningen/minskningen av frekvenserna är nu omedelbar. Föreställningen ska alltså vara tillgänglig vid de tillfällen den behövs.

3. Mer perfekt Auto-layout

Den tredje förändringen gäller gränssnittet som Apple introducerade i iOS 8. Detta är det så kallade Auto-layout-ramverket, som kom in i iOS vid en tidpunkt då Apple började utöka storleken på sina iPhone-skärmar. Ramverket såg till att utseendet på användargränssnittet var korrekt oavsett vilken typ och storlek på skärmen som data renderades på. Det är en slags krycka som hjälper utvecklare att optimera sina applikationer (men inte bara dem, detta ramverk är en integrerad del av iOS-systemet som sådant och tar hand om korrekt visning av alla delar av användargränssnittet) för flera skärmstorlekar. Dessutom är hela detta system till stor del automatiserat. Vid en detaljerad granskning visade det sig att dess drift är mycket krävande för systemresurser, och de största effekterna på prestanda dök upp i iOS 11. I iOS 12 har det tidigare nämnda verktyget fått en betydande omdesign och optimering, och i sin nuvarande form är dess påverkan på systemdriften är avsevärt mindre, vilket till stor del frigör resurser i CPU/GPU för behoven hos andra applikationer och verktyg.

Som du kan se har Apple verkligen tagit optimeringsprocesserna från toppen och det syns verkligen i slutprodukten. Om du har förra årets iPhones eller iPads, förvänta dig inte för många förändringar. Men om du äger en två, tre, fyra år gammal enhet kommer förändringen definitivt att bli mer än märkbar. Även om iOS 12 för närvarande är i ett tidigt skede, fungerar det redan betydligt bättre än någon version av iOS 1 på min första generationens iPad Air.

.