რეკლამის დახურვა

უკვე წლის დასაწყისში Apple-ის წარმომადგენლები ისინი ამტკიცებდნენ, რომ ახალი iOS 12 ძირითადად ოპტიმიზაციაზე იქნება ორიენტირებული და მომავალ წლამდე კიდევ რამდენიმე ფუნდამენტურ სიახლეს უნდა ველოდოთ. დაახლოებით იგივე ითქვა ორშაბათს გამართულ შეხვედრაზე, iOS 12-ის შესახებ განყოფილებაში. დიახ, ზოგიერთი სიახლე ნამდვილად გამოჩნდება iOS-ის მომავალ გამეორებაში, მაგრამ მთავარ როლს ასრულებს ოპტიმიზაცია, რაც განსაკუთრებით გაახარებს ძველი აპარატების მფლობელებს ( იმის შესახებ, თუ როგორ შთაბერა iOS 12-მა ჩემს ცხოვრებაში თქვენ შეძლებთ პირველი თაობის 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. უფრო სრულყოფილი ავტომატური განლაგება

მესამე ცვლილება ეხება ინტერფეისს, რომელიც Apple-მა დანერგა iOS 8-ში. ეს არის ეგრეთ წოდებული Auto-layout Framework, რომელიც შევიდა iOS-ში იმ დროს, როდესაც Apple-მა დაიწყო თავისი iPhone დისპლეის ზომის გაზრდა. ჩარჩო დარწმუნდა, რომ მომხმარებლის ინტერფეისის გარეგნობა სწორი იყო, მიუხედავად დისპლეის ტიპისა და ზომისა, რომელზედაც იყო გადმოცემული მონაცემები. ეს არის ერთგვარი ყავარჯენი, რომელიც ეხმარება დეველოპერებს აპლიკაციების ოპტიმიზაციაში (მაგრამ არა მხოლოდ მათ, ეს ფრეიმორი არის iOS სისტემის განუყოფელი ნაწილი, როგორც ასეთი და ზრუნავს მომხმარებლის ინტერფეისის ყველა ნაწილის სწორად ჩვენებაზე) რამდენიმე ზომის ეკრანისთვის. გარდა ამისა, მთელი ეს სისტემა დიდწილად ავტომატიზირებულია. დეტალური შემოწმების შედეგად აღმოჩნდა, რომ მისი ფუნქციონირება საკმაოდ მოთხოვნადია სისტემის რესურსებზე და ყველაზე დიდი გავლენა შესრულებაზე გამოჩნდა iOS 11-ში. iOS 12-ში ზემოხსენებულმა ინსტრუმენტმა მიიღო მნიშვნელოვანი რედიზაინი და ოპტიმიზაცია და მისი ამჟამინდელი სახით. გავლენა სისტემის მუშაობაზე გაცილებით მცირეა, რაც დიდწილად ათავისუფლებს რესურსებს CPU/GPU-ში სხვა აპლიკაციებისა და ხელსაწყოების საჭიროებებისთვის.

როგორც ხედავთ, Apple-მა მართლაც აიღო ოპტიმიზაციის პროცესები პიკიდან და ეს ნამდვილად ჩანს საბოლოო პროდუქტში. თუ თქვენ გაქვთ გასული წლის iPhone-ები ან iPad-ები, ნუ ელით ძალიან ბევრ ცვლილებას. მაგრამ თუ თქვენ ფლობთ ორი, სამი, ოთხი წლის მოწყობილობას, ცვლილება ნამდვილად შესამჩნევი იქნება. მიუხედავად იმისა, რომ iOS 12 ამჟამად ადრეულ სტადიაშია, ის უკვე მნიშვნელოვნად უკეთ მუშაობს, ვიდრე iOS 1-ის ნებისმიერი ვერსია ჩემს 11-ლი თაობის iPad Air-ზე.

.