Luk annoncen

Allerede i begyndelsen af ​​året, repræsentanter for Apple hævdede de, at den nye iOS 12 primært vil fokusere på optimering, og vi må vente på nogle mere fundamentale nyheder til næste år. Meget det samme blev sagt ved keynoten i mandags, under afsnittet om iOS 12. Ja, nogle nyheder vil ganske vist dukke op i den kommende iteration af iOS, men hovedrollen spilles af optimering, som især vil glæde ejere af ældre maskiner ( om hvordan iOS 12 pustede liv i min Du vil allerede i weekenden kunne læse 1. generation iPad Air). I går blev der som en del af WWDC-programmet holdt et foredrag, hvor det blev forklaret nærmere, hvad Apple har gjort for at få det nye system til at køre mærkbart hurtigere.

Hvis du virkelig er interesseret i dette emne og gerne vil vide, hvordan visse elementer af iOS fungerer i praksis, anbefaler jeg at se optagelsen af ​​foredraget. Den er cirka 40 minutter lang og er tilgængelig på Apples officielle hjemmeside under titlen Session 202: Hvad er nyt i Cocoa Touch. Hvis du ikke vil spilde tre kvarter på at se optagelsen af ​​konferencen, kan du læse en mere kortfattet udskrift zdeer dog noget teknisk. For resten af ​​jer vil jeg prøve en forenklet oversigt nedenfor.

Se billederne fra afsløringen af ​​iOS 12:

Med iOS 12 besluttede Apple at fokusere på optimering, da mange brugere klagede over fejlretning (især i forbindelse med iOS 11). Langt de fleste negative reaktioner var relateret til en form for "langsomhed", "fastkørthed" og "ujævnhed" af systemet og dets animationer. Apples programmører dykkede derfor ned i det helt basale og overvandt hele animationssystemet i iOS. Denne indsats bestod primært af tre store tweaks, der får iOS 12 til at køre, som den gør. Programmører har formået at afdække fejl, der har været til stede i iOS siden iOS 7.

1. Dataforberedelse

Den første ændring er optimeringen af ​​det såkaldte Cell Pre-fetch API, som blot sørgede for en slags dataforberedelse, før systemet rent faktisk havde brug for det. Uanset om det var billeder, animationer eller andre data, så skulle systemet afspille de nødvendige filer i hukommelsen med denne API, så de ville være tilgængelige, når de blev brugt, og derved ville der ikke være nogen spring i processorbelastningen, hvilket ville forårsage de ovennævnte fluiditetsproblemer. Som det viste sig under en grundig revision af denne algoritme, virkede den ikke helt korrekt.

I nogle tilfælde forberedte han dataene på forhånd, i andre gjorde han ikke. I andre tilfælde indlæste systemet dataene, selvom de allerede var forberedt i cachen på denne API, og nogle gange opstod der en slags "dobbelt indlæsning". Alt dette forårsagede fald i FPS under animationer, hakning og andre uoverensstemmelser i systemets drift.

2. Øjeblikkelig ydeevne

Den anden ændring er ændringen af ​​strømstyringen af ​​computerenhederne i enheden, hvad enten det er CPU eller GPU. I tidligere versioner af systemet tog det mærkbart længere tid for processoren at mærke øgede aktivitetskrav og dermed øge dens driftsfrekvenser. Derudover foregik denne acceleration/deceleration af processoren gradvist, så i mange tilfælde skete det, at systemet havde brug for strøm til en eller anden opgave, men det var ikke umiddelbart tilgængeligt, og der var igen fald i FPS-animationer osv. Dette ændrer sig bl.a. iOS 12, fordi det er her, processorernes ydeevnekurve er blevet justeret væsentligt mere aggressivt, og den gradvise stigning/fald i frekvenser er nu øjeblikkelig. Ydelsen bør således være tilgængelig på de tidspunkter, hvor der er behov for det.

3. Mere perfekt Auto-layout

Den tredje ændring vedrører den grænseflade, som Apple introducerede i iOS 8. Det er den såkaldte Auto-layout-ramme, som kom ind i iOS på det tidspunkt, hvor Apple begyndte at øge størrelsen på sine iPhone-skærme. Rammerne sørgede for, at udseendet af brugergrænsefladen var korrekt uanset typen og størrelsen af ​​det display, dataene blev gengivet på. Det er en slags krykke, der hjælper udviklere med at optimere deres applikationer (men ikke kun dem, denne ramme er en integreret del af iOS-systemet som sådan og sørger for den korrekte visning af alle dele af brugergrænsefladen) til flere skærmstørrelser. Derudover er hele dette system stort set automatiseret. Ved en detaljeret undersøgelse viste det sig, at dets drift er ret krævende for systemressourcer, og den største påvirkning af ydeevnen sås i iOS 11. I iOS 12 har det førnævnte værktøj fået et betydeligt redesign og optimering, og i sin nuværende form er dets indvirkningen på systemdriften er betydeligt mindre, hvilket stort set frigør ressourcer i CPU'en/GPU'en til behovene for andre applikationer og værktøjer.

Som du kan se, har Apple virkelig taget optimeringsprocesserne fra toppen, og det viser sig virkelig i det endelige produkt. Hvis du har sidste års iPhones eller iPads, skal du ikke forvente for mange ændringer. Men hvis du ejer en enhed to, tre, fire år gammel, vil ændringen helt sikkert være mere end mærkbar. Selvom iOS 12 i øjeblikket er i sine tidlige stadier, kører den allerede væsentligt bedre end nogen version af iOS 1 på min 11. generation af iPad Air.

.