Жарнама жабуу

Жылдын башында эле Apple өкүлдөрү деп ырасташкан, жаңы iOS 12 негизинен оптималдаштырууга басым жасайт жана биз кийинки жылга чейин дагы бир нече фундаменталдуу жаңылыктарды күтүшүбүз керек. Ушул эле нерсе дүйшөмбү күнкү негизги баяндамада iOS 12 жөнүндө бөлүмдө айтылды. Ооба, кээ бир жаңылыктар чындап эле iOSтун келе жаткан итерациясында пайда болот, бирок негизги ролду оптималдаштыруу ойнойт, ал өзгөчө эски машиналардын ээлерин кубандырат ( iOS 12 менин жашоомо кантип дем бергени жөнүндө Сиз ушул дем алыш күндөрү 1-муун iPad Airди окуй аласыз). Кечээ WWDC программасынын алкагында лекция өтүп, анда Apple жаңы системанын тезирээк иштеши үчүн эмне кылганы кеңири түшүндүрүлгөн.

Эгерде сизди бул тема чындап кызыктырса жана iOSтун айрым элементтери иш жүзүндө кандайча иштээрин билгиңиз келсе, мен лекциянын жазуусун көрүүнү сунуштайм. Ал болжол менен 40 мүнөткө созулат жана Apple компаниясынын расмий сайтында аталышы менен жеткиликтүү 202-сессия: Какао сенсорунда эмне жаңылык. Эгер сиз конференциянын жазуусун көрүү үчүн сааттын төрттөн үчүн текке кетиргиңиз келбесе, анда кыскараак стенограмманы окуй аласыз. бул жердебирок, бир аз техникалык. Калганыңыз үчүн, мен төмөндө жөнөкөйлөштүрүлгөн кыскача баяндап берем.

iOS 12 ачылышынан сүрөттөрдү карап көрүңүз:

iOS 12 менен Apple оптималдаштырууга басым жасоону чечти, анткени көптөгөн колдонуучулар мүчүлүштүктөрдү оңдоого нааразы болушкан (айрыкча iOS 11ге байланыштуу). Терс реакциялардын басымдуу көпчүлүгү системанын жана анын анимацияларынын кандайдыр бир "жайлануусу", "жабылышы" жана "текшерилбестиги" менен байланышкан. Ошентип, Apple программисттери эң негизги нерселерди изилдеп, iOS ичиндеги анимация системасын толугу менен жеңип чыгышты. Бул аракет, негизинен, iOS 12нин иштөөсүн камсыз кылган үч негизги өзгөртүүдөн турган. Программисттер iOS 7ден бери болгон кемчиликтерди ачууга жетишти.

1. Маалыматтарды даярдоо

Биринчи өзгөртүү - бул Cell Pre-Fetch API деп аталган оптималдаштыруу, ал жөн гана системага керек болгонго чейин маалыматтарды даярдоонун бир түрүн камтыды. Сүрөттөр, анимациялар же башка маалыматтар болобу, тутум бул API менен эстутумда керектүү файлдарды алдын ала ойнотуу керек болчу, алар колдонулганда жеткиликтүү болуп, процессордун жүктөөсүндө эч кандай секирик болбойт, бул жогоруда айтылган агымдык көйгөйлөр. Бул алгоритмди кылдат текшерүү учурунда белгилүү болгондой, ал такыр туура иштеген эмес.

Кээ бир учурларда ал маалыматтарды алдын ала даярдаса, кээ биринде ал даярдаган эмес. Башка учурларда, система бул API кэшинде даярдалган болсо да, маалыматтарды жүктөгөн жана кээде кандайдыр бир "кош жүктөө" болгон. Мунун баары анимациялар, майдалоо жана системанын иштөөсүндөгү башка карама-каршылыктар учурунда FPSтин төмөндөшүнө алып келди.

2. Заматта аткаруу

Экинчи өзгөртүү - бул CPU же GPU болобу, түзмөктөгү эсептөө бирдиктеринин кубаттуулугун башкаруунун модификациясы. Системанын мурунку версияларында процессордун активдүүлүккө болгон талаптардын жогорулашын байкап, ошону менен анын иштөө жыштыгын жогорулатуу үчүн кыйла узак убакыт талап кылынган. Кошумчалай кетсек, процессордун бул ылдамдашы/басаңдашы акырындык менен ишке ашкан, ошондуктан көп учурларда система кандайдыр бир тапшырманы аткаруу үчүн кубаттуулукту талап кылган, бирок ал дароо жеткиликтүү болгон эмес жана FPS анимацияларында кайрадан төмөндөө болгон ж.б. iOS 12, анткени дал ушул жерде процессорлордун иштөө ийри сызыгы кыйла агрессивдүүрөөк жөнгө салынды жана жыштыктардын акырындык менен көбөйүшү/төмөндөшү дароо. Ошентип, аткаруу зарыл болгон учурда жеткиликтүү болушу керек.

3. Дагы мыкты Auto-макет

Үчүнчү өзгөртүү Apple iOS 8де киргизген интерфейсине тиешелүү. Бул Apple өзүнүн iPhone дисплейлеринин көлөмүн чоңойто баштаганда iOS'ко кирген Auto-layout алкактары деп аталат. Алкак маалымат көрсөтүлгөн дисплейдин түрүнө жана өлчөмүнө карабастан, колдонуучу интерфейсинин көрүнүшү туура экендигине ынанган. Бул иштеп чыгуучуларга тиркемелерди оптималдаштырууга жардам берген балдактын бир түрү (бирок алар гана эмес, бул алкак iOS тутумунун ажырагыс бөлүгү болуп саналат жана колдонуучу интерфейсинин бардык бөлүктөрүнүн туура дисплейге кам көрөт) бир нече дисплей өлчөмү үчүн. Мындан тышкары, бул бүт система негизинен автоматташтырылган. Толук текшерүүдөн кийин, анын иштеши системалык ресурстарды талап кылаары белгилүү болду жана аткарууга эң чоң таасир iOS 11де пайда болду. iOS 12де жогоруда аталган инструмент олуттуу кайра дизайнга жана оптималдаштырууга ээ болду, ал эми азыркы түрүндө анын системанын иштешине тийгизген таасири кыйла азыраак, бул CPU/GPUдагы ресурстарды башка тиркемелер менен куралдардын муктаждыктары үчүн бошотот.

Көрүнүп тургандай, Apple чындап оптималдаштыруу процесстерин чокусунан тартып алды жана бул чындыгында акыркы продуктта көрсөтөт. Эгер сизде былтыркы iPhone же iPad болсо, өтө көп өзгөрүүлөрдү күтпөңүз. Бирок, эки, үч, төрт жаштагы аппаратка ээ болсоңуз, анда өзгөртүү сөзсүз түрдө байкаларлык болот. Учурда iOS 12 баштапкы этапта болсо да, ал менин 1-муундагы iPad Airимдеги iOS 11дин бардык версияларынан бир топ жакшыраак иштейт.

.