بستن آگهی

در حال حاضر در آغاز سال، نمایندگان اپل آنها ادعا کردند، که iOS 12 جدید عمدتاً بر روی بهینه سازی تمرکز خواهد کرد و تا سال آینده باید منتظر اخبار اساسی تر باشیم. تقریباً همان چیزی است که در جلسه اصلی روز دوشنبه در بخش مربوط به iOS 12 گفته شد. بله، برخی اخبار در نسخه بعدی iOS ظاهر می شود، اما نقش اصلی را بهینه سازی بازی می کند، که به ویژه صاحبان ماشین های قدیمی تر را خوشحال می کند ( در مورد اینکه چگونه iOS 12 جانی در من دمید شما می‌توانید این آخر هفته نسل اول آی‌پد ایر را بخوانید). دیروز، به عنوان بخشی از برنامه WWDC، یک سخنرانی برگزار شد که در آن با جزئیات بیشتر توضیح داده شد که اپل چه کاری انجام داده است تا سیستم جدید را به طور قابل توجهی سریعتر کند.

اگر واقعاً به این موضوع علاقه دارید و می خواهید بدانید که برخی از عناصر iOS در عمل چگونه کار می کنند، توصیه می کنم ضبط سخنرانی را تماشا کنید. مدت زمان آن حدود 40 دقیقه است و در وب سایت رسمی اپل تحت عنوان موجود است جلسه 202: چیزهای جدید در Cocoa Touch. اگر نمی‌خواهید سه ربع ساعت را برای تماشای ضبط کنفرانس تلف کنید، می‌توانید متن فشرده‌تری را بخوانید. اینجابا این حال، تا حدودی فنی است. برای بقیه شما، من یک خلاصه ساده را در زیر امتحان خواهم کرد.

تصاویر رونمایی از iOS 12 را ببینید:

با iOS 12، اپل تصمیم گرفت بر روی بهینه سازی تمرکز کند، زیرا بسیاری از کاربران از اشکال زدایی (مخصوصاً در ارتباط با iOS 11) شکایت داشتند. اکثریت قریب به اتفاق واکنش های منفی مربوط به نوعی «کندی»، «چسبیدن» و «ناهمواری» سیستم و انیمیشن های آن است. بنابراین برنامه نویسان اپل به اصول اولیه پرداختند و بر کل سیستم انیمیشن در iOS غلبه کردند. این تلاش عمدتاً شامل سه ترفند اصلی بود که باعث می‌شود iOS 12 به همان شیوه اجرا شود. برنامه نویسان موفق به کشف نقص هایی شده اند که از iOS 7 وجود داشته است.

1. آماده سازی داده ها

اولین تغییر بهینه سازی به اصطلاح Cell Pre-fetch API است که به سادگی از نوعی آماده سازی داده ها قبل از اینکه سیستم واقعاً به آن نیاز داشته باشد مراقبت می کند. چه تصاویر، انیمیشن یا سایر داده‌ها، سیستم باید فایل‌های لازم را در حافظه با این API از قبل پخش می‌کرد تا در هنگام استفاده در دسترس باشند و در نتیجه هیچ جهشی در بار پردازنده وجود نداشته باشد که باعث می‌شود مشکلات سیالیت فوق الذکر همانطور که در طی یک ممیزی کامل از این الگوریتم مشخص شد، کاملاً درست کار نمی کند.

در برخی موارد او داده ها را از قبل آماده می کرد، در برخی دیگر نه. در موارد دیگر، سیستم داده ها را با وجود اینکه قبلاً در حافظه پنهان این API آماده شده بود بارگذاری می کرد و گاهی اوقات نوعی «بارگذاری مضاعف» رخ می داد. همه اینها باعث افت FPS در حین انیمیشن ها، برش و ناهماهنگی های دیگر در عملکرد سیستم شد.

2. عملکرد فوری

دومین تغییر، تغییر مدیریت توان واحدهای محاسباتی در دستگاه است، خواه CPU یا GPU. در نسخه‌های قبلی سیستم، به طور قابل‌توجهی بیشتر طول می‌کشید تا پردازنده متوجه افزایش تقاضای فعالیت و در نتیجه افزایش فرکانس‌های کاری خود شود. علاوه بر این، این شتاب/کاهش سرعت پردازنده به تدریج صورت می گرفت، بنابراین در بسیاری از موارد اتفاق می افتاد که سیستم برای انجام برخی کارها نیاز به برق داشت، اما بلافاصله در دسترس نبود و دوباره در انیمیشن های FPS و غیره افت داشت. این تغییر در iOS 12، زیرا در اینجا منحنی عملکرد پردازنده ها به طور قابل توجهی با شدت بیشتری تنظیم شده است و افزایش/کاهش تدریجی فرکانس ها اکنون فوری است. بنابراین عملکرد باید در لحظاتی که به آن نیاز است در دسترس باشد.

3. طرح خودکار کامل تر

سومین تغییر مربوط به رابطی است که اپل در iOS 8 معرفی کرد. این چارچوب به اصطلاح Auto-layout است که در زمانی که اپل شروع به افزایش اندازه نمایشگرهای آیفون خود کرد، وارد iOS شد. چارچوب مطمئن شد که ظاهر رابط کاربری بدون در نظر گرفتن نوع و اندازه نمایشگری که داده‌ها روی آن ارائه می‌شوند درست است. این یک نوع عصا است که به توسعه دهندگان کمک می کند تا برنامه های خود را بهینه کنند (اما نه تنها آنها، این فریم ورک بخشی جدایی ناپذیر از سیستم iOS است و از نمایش صحیح تمام قسمت های رابط کاربری مراقبت می کند) برای چندین اندازه نمایش. علاوه بر این، کل این سیستم تا حد زیادی خودکار است. پس از بررسی دقیق، مشخص شد که عملکرد آن بر روی منابع سیستم بسیار سخت است و بیشترین تأثیر بر عملکرد در iOS 11 ظاهر شد. در iOS 12، ابزار فوق طراحی مجدد و بهینه سازی قابل توجهی دریافت کرده است و در شکل فعلی آن، آن تأثیر بر عملکرد سیستم به طور قابل توجهی کمتر است، که تا حد زیادی منابع را در CPU/GPU برای نیازهای سایر برنامه ها و ابزارها آزاد می کند.

همانطور که می بینید، اپل واقعاً فرآیندهای بهینه سازی را از اوج گرفته است و واقعاً در محصول نهایی خود را نشان می دهد. اگر آیفون یا آیپد سال گذشته دارید، انتظار تغییرات زیادی نداشته باشید. اما اگر شما صاحب یک دستگاه دو، سه، چهار ساله هستید، قطعا این تغییر بیش از حد محسوس خواهد بود. حتی اگر iOS 12 در حال حاضر در مراحل اولیه خود است، در حال حاضر به طور قابل توجهی بهتر از هر نسخه از iOS 1 در نسل اول iPad Air من اجرا می شود.

.