يُعد تحسين الأداء والإدارة الحرارية أمرًا ضروريًا لتطوير ألعاب ناجحة على Android. بشكل تقليدي، كان على المطوّرين إدارة هذه المشاكل من خلال تقليل دقة اللعبة أو تحسين العارض. قد تكون هذه التغييرات متعلقة بالألعاب وفي كثير من الأحيان غير مرنة.
يوفّر العديد من المشاركين في منظومة Android المتكاملة واجهات برمجة التطبيقات ذات الأداء التكيّفي للمطوّرين. لتبسيط عملية دمج ميزات الأداء التكيُّفي والحدّ من التجزئة في المنظومة المتكاملة، تتعاون Google مع MediaTek لدمج عروضنا: إطار عمل Android الديناميكي (ADPF) وMediaTek Adaptive Gaming (MAGT).
يوفّر ADPF للمطوّرين إمكانية تعديل أعباء العمل في اللعبة استنادًا إلى الظروف الحرارية في الوقت الفعلي، ويقدّم هذا البرنامج إشارات لنظام التشغيل من أجل تحسين الأداء استنادًا إلى أعباء العمل الحالية. يمكنك استخدام هذه الإشارات لتعديل إعدادات الدقّة والأداء، مثل درجة الدقة وعدد اللقطات في الثانية واستراتيجية تحميل الموارد. ويتيح لك ذلك تحقيق التوازن بشكل أفضل بين الأداء والحرارة والدقة، ما يمنح اللاعبين على أجهزة Android أفضل تجربة ممكنة. يعمل منظومة Android المتكاملة على استخدام هذه التكنولوجيا بشكل كبير. تمكّنت شركة Ares لشركة Kakao Games من زيادة ثبات عدد اللقطات في الثانية بنسبة%96 من خلال تعديل أعباء العمل في وقت التشغيل استجابةً لواجهة برمجة التطبيقات الحرارية.
MediaTek هي شركة رائدة في مجال توفير المنظومة على الرقاقة (SoCs) على نظام التشغيل Android. تنتج الشركة عددًا من الرقائق، مثل Dimensity 9300 الجديد. تقدم MediaTek أيضًا حزمة MAGT SDK، والتي تم توفيرها منذ عام 2021. توفِّر حزمة تطوير البرامج (SDK) ميزات متقدّمة لضبط الأداء في مجالات المنظومة على الرقاقة (SoCs) من MediaTek، مثل معلومات دقيقة حول الأداء في الوقت الفعلي وتلميحات عن زيادة أعباء العمل. بالإضافة إلى تقديم MAGT للمطورين، بدأت MediaTek في تقديم إمكانات ADPF محسّنة.
منع التقييد الحراري باستخدام ADPF وتحسين الأداء
تسمح MediaTek لإطار عمل ADPF بالوصول إلى درجات حرارة الأجهزة الحالية والمستهدفة لمنع التقييد الشديد. وباستخدام وظيفة ADPF
getThermalHeadroom()
،
يمكن للتطبيقات الحصول على تقدير هامش الحرارة الحراري المتاح
قبل وصول الجهاز إلى التقييد الشديد. وباستخدام هذا التقدير، يمكن للتطبيقات تعديل أعباء العمل ديناميكيًا لمنع الجهاز من تقييد المحتوى، وبالتالي تحسين تجربة المستخدم بشكل عام.
إنّ التطبيق (الذي يستعين بالعرض التوضيحي لـ Boat Attack
من Unity كمثال) يستخدم أيضًا واجهة برمجة التطبيقات Performance Hint Session API لتحسين أدائه.
توفِّر هذه البيانات وقت عرض اللقطة المستهدَف ووقت عرض اللقطة الحالي لكل إطار من خلال الدالتَين updateTargetWorkDuration()
وreportActualWorkDuration()
على التوالي. تحسب منصة MediaTek عبء العمل بين مكالمتَين reportActualWorkDuration()
، وتخصِّص سعة وحدة معالجة مركزية مناسبة لضمان إمكانية إنجاز أعباء العمل خلال المدة المستهدَفة.
ونتيجة لذلك، تعرض منصة MediaTek باستمرار لقطات مثالية في الثانية (FPS) مع استهلاك متوازن للطاقة، ما يضمن توفير تجربة سلسة للمستخدم.
يمكنك تحسين معدّلات عرض اللقطات في الثانية وخفض استهلاك الطاقة وإطالة مدة تشغيل الألعاب.
بشكل عام، تم تحسين معدّل عرض اللقطات في الثانية بمقدار 8.5 لقطات في الثانية من خلال الإصدار التجريبي من Unity المركبة Attack، وتقليل استهلاك الطاقة بنسبة %12، وإتاحة جلسات لعب أطول بمقدار 25 دقيقة أو أكثر. انخفض الانحراف المعياري لعدد اللقطات في الثانية بنسبة 25٪. ويتيح لك هذا التحسين الرائع زيادة دقة ألعابك وتشغيل جلسات اللعب لفترة زمنية أطول بطريقة مستدامة من الناحية الحرارية.
حتى بدون تعديل إعدادات الدقّة، وفقط من خلال تفعيل جلسة تلميح الأداء، استطاع أعباء العمل تقليل متوسط مدة عرض سلسلة التعليمات بنسبة %10 تقريبًا.
الخطوة التالية المتعلّقة بالأداء التكيّفي على خدمات المنظومة على الرقاقة (SoCs) من MediaTek
ستتم ترقية ADPF خلال السنوات القادمة بميزات جديدة وإضافة ميزات جديدة لا تتوافق مع الأجهزة من MAGT. بالنسبة إلى المطوّرين الذين يريدون الاستفادة أكثر من أجهزة MediaTek، تحتوي حزمة MAGT SDK على إمكانيات متقدمة تستهدف بشكل فريد بُنى شرائح MediaTek وستوفّر قريبًا ميزات أساسية في ADPF.
بدء استخدام ميزة التكيّف مع Android
يتوفر "إطار عمل الأداء الديناميكي" من Android الآن لجميع مطوّري ألعاب Android لـ محرّكات ألعاب Unity وUnreal وCocos Creator ومن خلال مكتبات C++ الأصلية التابعة لنا.
- وبالنسبة إلى مطوّري برامج Unity، يمكنك بدء استخدام الإصدار 5.0.0 من موفِّر الأداء التكيُّفي . يُرجى العلم أنّ Thermal API متوافقة مع معظم أجهزة Android التي تعمل بالإصدار 11 من نظام التشغيل Android (المستوى 30)، وواجهة برمجة التطبيقات Performance Hint API من الإصدار Android 12 (المستوى 31).
- بالنسبة إلى المطوّرين غير الفعليين، يمكنهم بدء استخدام المكوّن الإضافي Android Dynamic Performance Unreal Engine لمعظم أجهزة Android التي تستهدف الإصدار 12 من نظام التشغيل Android (المستوى 31 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.
- بالنسبة إلى Cocos Creator، يمكنك البدء باستخدام Thermal API من خلال الإصدار v3.8.2 و Performance Hint API من الإصدار 3.8.3.
بالنسبة إلى محرّكات الألعاب هذه، يتم دمج واجهات برمجة التطبيقات الحرارية مع ميزة "الأداء التكيُّفي"
لمساعدتك في استرداد المعلومات الحرارية للأجهزة، ويتم تلقائيًا تسمية واجهة برمجة التطبيقات Performance tooltip API كل Update()
أو Monitor()
بدون أي جهد إضافي.
وأخيرًا، بالنسبة إلى المحركات المخصّصة، يمكنك الرجوع إلى
نموذج ADPF C++ الأصلي
.
مراجع إضافية
تعرَّف على كيفية الاستفادة من إطار عمل Android الديناميكي في تثبيت عدد اللقطات في الثانية في لعبتك والحدّ من التقييد الحراري.
يمكنك الاطّلاع على المزيد من المعلومات حول تكنولوجيا ألعاب الفيديو التكيُّفية MediaTek لضبط الأداء المتقدّم لدى أنظمة MediaTek SoC.