أعلنت أبل أن أحد أهم مزايا iOS 12 ستكون تحسين الأداء بشكل ملحوظ يصل إلى 100% في بعض الوظائف -راجع مقالنا السابق-. لكن لماذا أصبحت الأجهزة من الأساس بطيئة؟ دع مشكلة البطارية جانباً فالآن الحديث عن هاتف لا يعاني من أي خلل في العتاد فلماذا نشعر بأنه أقل أداءاً مع مرور الوقت والتحديثات؟ وكيف ستحسن أبل من الأداء؟
تعد مشكلة البطارية سبب رئيسي لانخفاض الأداء لكن بعد تغيير البطارية أو إغلاق تقليل الأداء وهو خيار موجود في iOS 11.3 وأحدث فكان من المفترض أن نشعر بأن النظام حالياً (ليكن iOS 11.4.1) يعمل بنفس السرعة التي كان عليها في iOS 10 وقبله iOS 9 لكن الحقيقة هذا لا يحدث. نحن نشعر بأنها أبطئ. لكن هل هذا الإحساس حقيقي؟
قبل عدة أشهر تم نشر دراسة تم فيها إجراء اختبارات على أجهزة آي فون من نفس الطراز على عدة أنظمة مختلفة وخرجت الدراسة بنتيجة تقول أن الأداء ثابت مع التحديثات (هناك فروقات بالطبع لكن ليست ضخمة). والأمر نفسه في اختبارات الأداء BenchMark والتي أوضحت أنه إن كان هاتفك لا يعاني من مشكلة البطارية فمن المفترض أنه يحصل على نتيجة قريبة من التي كان يحصل عليها في الماضي. لكن هذا ليس ما نشعر به.
بعد إعلان أبل تحسين الأداء في iOS 12 رأينا بعض التعليقات تقول أن ما يحدث مؤامرة من أبل حيث قامت الشركة على مر سنوات بتقليل الأداء عمداً ثم الآن قررت إيقاف هذا التقليل لتقول أن هذه ميزة. تماماً مثل نظرية أن شركات الأدوية هى من تصنع المرض وشركات الكومبيوتر تصنع الفيروسات. لذا فأبل تقلل الأداء ثم تعلن رفعه فنكون سعداء بدون أن تضيف الشركة ميزة جديدة. نظرية جيدة لكن أليس من المنطقي أن يظهر هذا التقليل في اختبارات الأداء؟ عندما خفضت أبل الأداء بسبب البطارية ظهر واضح هذا التقليل في الاختبارات. فلماذا التخفيض التأمري هذا لا يظهر؟ وبالمناسبة تحسين الأداء يشمل الآي فون X فهل تتأمر أبل على نفسها لتقليل أداء أحدث جهاز بهدف منع بيعه؟
الحقيقة أنه لا يوجد سبب واحد وصريح لهذا الأمر وإن كان هناك عدة أسباب نذكر أهم 3 منهم فقط.
تحديثات متتالية متراكمة
الكثير منا كان جهازه على iOS 8 فقام بتحديثه إلى iOS 9 من الإعدادات مباشرة والعام التالي ظهر iOS 9 فرقى له ثم iOS 10 ثم iOS 11 وحالياً وصل إلى iOS 11.4.1 كل هذا بدون عمل ريستور نظيف. الفكرة باختصار وللتبسيط أنه مع سلسلة التحديثات المتواصلة فإن هناك ملفات عديدة قد تكون غير سليمة لسبب أو لآخر مما يتسبب في تقليل الأداء. غالباً ما ينصح مراكز أبل المعتمدة أن تقوم بعمل التحديث الرئيسي (9-10-11-12) من الآي تيونز بواسطة الريستور لأنه يزيل كل الملفات القديمة المتراكمة ويحمل فقط أحدث نسخة. يمكنك التجربة بنفسك عبر توصيل جهازك بالآي تيونز وأخذ نسخة احتياطية ثم عمل Restore ثم جرب بعدها أداء جهازك وسوف تشعر بالفارق الملحوظ في الأداء.
إذا كنت تعاني من بطئ في جهازك فاسأل نفسك متى آخر مرة قمت بعمل ريستور من الآي تيونز؟ إذا مر أكثر من سنة فأنت تحتاجه الآن
مزايا جديدة
النقطة السابقة هى سبب تقليل أداء لكن ليس السبب الوحيدة فحتى بعد الريستور لن يعود لسرعته القديمة والسبب هو المزايا الجديدة. للتبسيط تخيل معي أن لديك جهازك وظيفته نقل 100 حقيبة. سيقوم هذا الجهاز بالنقل في مدة معينة؛ الآن قم بزيادة العدد إلى 150 حقيبة ثم 200 ثم 300. هل يمكن أن ينقل 300 حقيبة في نفس الوقت والسرعة التي نقل بها 100 في الماضي؟ بالطبع لا. الجهاز لم يتغير وسرعته لم تنخفض لكن عدد الحقائب زاد. هذا باختصار ما يحدث وتخيل أنك قمت بشراء الآي فون 6s جديداً ووقتها صدر بنظام iOS 9 والآن يعمل بنظام iOS 11.4. سواء تحب النظام الحالي 11.4 أم لا لكنه بالتأكيد به مزايا أكثر بكثير من الموجودة في iOS 9. الآن نفس الجهاز بنفس الذاكرة والمعالج ونفس كل شيء أصبح عليه إدارة وظائف أكثر فبالتالي يقل سرعته التي نشعر بها لكنه فعلياً لا يزال بنفس السرعة كمثال ماكينة الحقائب. لم تنخفض سرعته بل زاد عدد الحقائب أو نقصد هنا المزايا.
جهازك يعمل بنفس السرعة لكن المهام التي عليه زادت
مزايا للأحدث
لنستمر في نفس المثال السابق وأنت شخص لديك 6s وتشعر حالياً ببطئ الجهاز. الآن لنقارن بين 6s و الآي فون 8 في الاختبارات. الأخير متفوق بـ 89% في سرعة النواه الفردية و 165% في الأداء الأقصى “أنوية متعددة” و 53% في اختيارات Metal أي الألعاب. الآن فكر في شركات الألعاب والتطبيقات فهى تلقائياً تفكر في تقديم أكبر قدر من المزايا للمنافسة لذا تهتم بشكل أساسي بأحدث آي-فون (الذي أدائه الآن ضعف أداء جهازك). الألعاب والتطبيقات صممت وهذا الجهاز السريع في ذهنهم وبالتالي قاموا بإضافة العديد من المزايا الجديدة بلعبتهم أو تطبيقهم. أي أصبح بحدث معك تماماً مثل النقطة السابقة وهى أن التطبيقات تزيد المزايا بداخلها وكذلك الألعاب وهذا يجعلك تشعر بأن الأداء أقل لكنه فعلياُ ثابت تقريباً بل زاد الحمل.
المطور يركز على تطبيقات للأجهزة الأحدث مما يسبب حمل إضافي على الأقدم
كيف سوف تحسن أبل الأداء؟
الآن الكثير من متابعينا يقول إذا كان ما تقوله صحيح فكيف ستقوم أبل بتحسين الأداء؟ هل ستزيل مزايا؟ أليست المزايا الجديدة هى سبب البطئ فكيف سوف تضاعف أبل السرعة بدون إزالة المزايا؟ إجابة هذا السؤال نقطة يعرفها المبرمجين وهى تحسين الأداء أو “Optimization” وهى أن يقوم المطور بإعادة كتابة وبناء برنامجه أو لعبته أو نظامه واستخدام أكواد أخرى بديله. فمثلاً كان لدي 10 سطور برمجية لميزة كذا ثم أضفت ميزة جديدة فكتبت بعد هذه السطور 6 أسطر جديدة ثم 14 لميزة ثالثة. الآن أصبح لدي 30 سطر للقيام بـ 3 مزايا. ليحسن المطور أداء تطبيقه فهو يقوم بمراجعه كل الأسطر فقد يجد فيها نقاط مكررة أو يدمجها سوياً لتصبح 20 سطر لتقديم نفس المزايا أو حتى يجد أنه يمكن كتابتها بشكل أفضل وبتقنيات أحسن وهذا يجعلها أسرع.
هذا هو سر أن نظام iOS 12 ليس به عدد ضخم من المزايا حيث تركز أبل جزء من مطوريها في تحسين الأداء. وبالطبع أبل تتحدث عن تحسين الأداء الخاص بها أي تشغيل التطبيقات والخروج منها وفتح الكاميرا. لكن إن كان هناك تطبيق معين بطيء فما تقوم به أبل لن يحسن الأداء لهذه التطبيقات لأنها تعمل على النظام نفسه لا على التطبيقات.
بالطبع قد تقول لماذا لم تقم أبل من البداية بتحسين الأداء وكتابة الأكواد بأفضل طريقة؟ الإجابة ببساطة هى أن تحسين الأداء يأخذ وقت طويل بالمقارنة بإضافة الميزة؛ فمثلاً يمكن لأبل أن تضيف ميزة XYZ في شهر لكنها قد تحتاج 4 شهور لتجعلها تعمل بأسرع شكل ممكن؛ لذا تلجئ أبل سابقاً للإضافة وقالت أنه مع iOS 12 حان وقت تحسين الأداء
أي الأسباب تراه الأكثر تأثيراً في الأداء لأجهزة؟ أم تتفق مع أن أبل هى من صنعت المشكلة حتى مع X والآن تحلها لتدعي التحديث دون مزايا؟
المصادر: