Maak advertensie toe

Reeds aan die begin van die jaar, verteenwoordigers van Apple het hulle beweer, dat die nuwe iOS 12 hoofsaaklik op optimalisering sal fokus en ons sal moet wag vir 'n paar meer fundamentele nuus tot volgende jaar. Baie dieselfde is Maandag tydens die hoofaand gesê tydens die afdeling oor iOS 12. Ja, sommige nuus sal inderdaad in die komende iterasie van iOS verskyn, maar die hoofrol word gespeel deur optimalisering, wat veral eienaars van ouer masjiene sal behaag ( oor hoe iOS 12 lewe in my geblaas het Jy sal die naweek reeds die 1ste generasie iPad Air kan lees). Gister, as deel van die WWDC-program, is ’n lesing gehou waar daar in meer besonderhede verduidelik is wat Apple gedoen het om die nuwe stelsel merkbaar vinniger te laat loop.

As jy regtig belangstel in hierdie onderwerp en wil weet hoe sekere elemente van iOS in die praktyk werk, beveel ek aan om na die opname van die lesing te kyk. Dit is ongeveer 40 minute lank en is onder die titel op Apple se amptelike webwerf beskikbaar Sessie 202: Wat is nuut in Cocoa Touch. As jy nie driekwart van 'n uur wil mors om na die opname van die konferensie te kyk nie, kan jy 'n meer bondige transkripsie lees hier, is egter ietwat tegnies. Vir die res van julle sal ek 'n vereenvoudigde opsomming hieronder probeer.

Kyk na die beelde van die onthulling van iOS 12:

Met iOS 12 het Apple besluit om op optimalisering te fokus, aangesien baie gebruikers gekla het oor ontfouting (veral in verband met iOS 11). Die oorgrote meerderheid negatiewe reaksies het verband gehou met een of ander soort "traagheid", "vasheid" en "ongladheid" van die stelsel en sy animasies. Apple se programmeerders het dus in die basiese beginsels gedelf en die hele animasiestelsel binne iOS oorwin. Hierdie poging het hoofsaaklik bestaan ​​uit drie groot aanpassings wat iOS 12 laat werk soos dit werk. Programmeerders het daarin geslaag om foute te ontdek wat sedert iOS 7 in iOS voorkom.

1. Data voorbereiding

Die eerste verandering is die optimalisering van die sogenaamde Cell Pre-fetch API, wat bloot gesorg het vir 'n soort data-voorbereiding voordat die stelsel dit eintlik nodig gehad het. Of dit nou beelde, animasies of ander data was, die stelsel moes die nodige lêers vooraf in die geheue speel met hierdie API sodat dit beskikbaar sou wees wanneer dit gebruik word en daar dus geen spronge in die verwerkerlading sou wees nie, wat sou veroorsaak bogenoemde vloeibaarheidsprobleme. Soos dit geblyk het tydens 'n deeglike oudit van hierdie algoritme, het dit nie heeltemal korrek gewerk nie.

In sommige gevalle het hy die data vooraf voorberei, in ander nie. In ander gevalle het die stelsel die data gelaai al was dit reeds in die kas van hierdie API voorberei, en soms het 'n soort "dubbellaai" plaasgevind. Dit alles het dalings in FPS veroorsaak tydens animasies, kap en ander teenstrydighede in die stelsel se werking.

2. Onmiddellike prestasie

Die tweede verandering is die wysiging van die kragbestuur van die rekenaareenhede in die toestel, of dit nou SVE of GPU is. In vroeëre weergawes van die stelsel het dit merkbaar langer geneem vir die verwerker om verhoogde aktiwiteitseise op te merk en sodoende sy bedryfsfrekwensies te verhoog. Boonop het hierdie versnelling/vertraging van die verwerker geleidelik plaasgevind, so in baie gevalle het dit gebeur dat die stelsel krag nodig gehad het vir een of ander taak, maar dit was nie onmiddellik beskikbaar nie, en daar was weer dalings in FPS-animasies, ens. Dit verander in iOS 12, want dit is hier, is die werkverrigtingkurwe van die verwerkers aansienlik meer aggressief aangepas, en die geleidelike toename/afname in frekwensies is nou onmiddellik. Die uitvoering behoort dus beskikbaar te wees op die oomblikke wanneer dit nodig is.

3. Meer perfekte outo-uitleg

Die derde verandering het betrekking op die koppelvlak wat Apple in iOS 8 bekendgestel het. Dit is die sogenaamde Outo-uitleg-raamwerk, wat iOS betree het in 'n tyd toe Apple die grootte van sy iPhone-skerms begin vergroot het. Die raamwerk het seker gemaak dat die voorkoms van die gebruikerskoppelvlak korrek was, ongeag die tipe en grootte van die skerm waarop die data gelewer is. Dit is 'n soort kruk wat ontwikkelaars help om hul toepassings te optimaliseer (maar nie net hulle nie, hierdie raamwerk is 'n integrale deel van die iOS-stelsel as sodanig en sorg vir die korrekte vertoning van alle dele van die gebruikerskoppelvlak) vir verskeie vertoongroottes. Boonop is hierdie hele stelsel grootliks geoutomatiseer. By gedetailleerde ondersoek het dit geblyk dat die werking daarvan baie veeleisend is op stelselhulpbronne, en die grootste impak op werkverrigting het in iOS 11 verskyn. In iOS 12 het die voorgenoemde instrument 'n beduidende herontwerp en optimalisering ontvang, en in sy huidige vorm is sy impak op stelselwerking is aansienlik kleiner, wat grootliks hulpbronne in die SVE/GPU vrymaak vir die behoeftes van ander toepassings en gereedskap.

Soos u kan sien, het Apple regtig die optimaliseringsprosesse van die hoogtepunt af geneem en dit wys regtig in die finale produk. As jy verlede jaar se iPhones of iPads het, moenie te veel veranderinge verwag nie. Maar as jy 'n toestel twee, drie, vier jaar oud besit, sal die verandering beslis meer as merkbaar wees. Alhoewel iOS 12 tans in sy vroeë stadiums is, werk dit reeds aansienlik beter as enige weergawe van iOS 1 op my 11ste generasie iPad Air.

.