أدوات لتعزيز الأداء للألعاب

بدءًا من الإصدار 14 من نظام التشغيل Android، يتيح وضع الطاقة الجديد المُسمى GAME في إطار عمل الأداء الديناميكي لنظام التشغيل Android (ADPF) تخصيص أداء الهاتف أثناء استخدام الألعاب. GAME يشير إلى Power HAL بأنّ تطبيق لعبة قيد التشغيل في المقدّمة. يسمح هذا المؤشر لواجهة HAL للطاقة باعتماد استراتيجيات إدارة الطاقة أثناء تشغيل لعبة، ما يمنح المستخدم أداءً ثابتًا ومحسّنًا.

لتحسين وقت تحميل اللعبة، يقدّم الإصدار 13 من Android وضع الطاقة الجديد المُسمى GAME_LOADING في ADPF. يشير الرمز GAME_LOADING إلى ما إذا كان تطبيق لعبة في حالة التحميل لكي تتمكّن واجهة برمجة التطبيقات Power HAL من تقديم تحسين في التحميل. يسمح هذا المؤشر لواجهة HAL لوحدة الطاقة باتخاذ إجراءات لتحسين الأداء يمكن أن تسريع وقت loading اللعبة.

تصف هذه الصفحة كيفية تمرير تطبيق اللعبة لحالة اللعبة إلى Power HAL، وتشرح كيفية تهيئة Power HAL للاستفادة منها في أجهزتك، فضلاً عن كيفية اختبار تطبيق Power HAL.

رصد "وضع التشغيل" وإشعاره

يصف هذا القسم كيفية تعامل "مدير الطاقة" مع وضعَي GAME وGAME_LOADING.

وضع الطاقة في "وضع الألعاب"

يشير وضع الطاقة الجديد GAME في Android 14 إلى خدمة "إدارة الطاقة" أنّ المستخدم يلعب لعبة. عندما يتم إشعار Power HAL بالوضع GAME ، يمكنه ضبط الطاقة لتحسين الأداء وخفض درجة الحرارة وإطالة عمر البطارية أثناء تشغيل اللعبة.

يوضّح الشكل التالي تدفّق المعلومات إلى Power HAL لتحديد وضع الطاقة GAME:

وضع الألعاب

الشكل 1. تدفق المعلومات للإشارة إلى أنّه يتم تشغيل لعبة

يتم دائمًا ضبط وضع الطاقة GAME للتطبيقات التي تتضمن appCategory GAME في AndroidManifest.xml.

وضع الطاقة GAME_LOADING

يعمل وضع "تعزيز التحميل" من خلال رصد حالة تحميل أحد تطبيقات الألعاب وإرسال إشعار إلى Power HAL. يقدّم الإصدار 13 من Android حالة لعبة جديدة تُسمى isLoading في واجهة برمجة التطبيقات الموجّهة للمطوّرين. تستخدم حالة اللعبة هذه وضع الطاقة GAME_LOADING الجديد في خدمة "مدير الطاقة" لإشعار Power HAL بحالة اللعبة ذات المستوى الأعلى. بعد إرسال إشعار إلى Power HAL بحالة تحميل اللعبة، يمكنه تعديل إعدادات أداء النظام الأساسي ومعدّل ساعة وحدة المعالجة المركزية، ما يؤدي بدوره إلى تحسين أوقات التحميل.

للإشارة إلى أنّه يتم تحميل لعبة، يستخدم تطبيق اللعبة "لوحة بيانات الألعاب" لضبط حالة isLoading في "مدير الألعاب". يُرسِل "مدير الألعاب" هذه الحالة إلى "خدمة مدير الألعاب" التي تستخدِم setPowerMode مع وضع الطاقة الجديد GAME_LOADING لتشغيل "خدمة إدارة الطاقة". يشير GAME_LOADING وضع الطاقة إلى Power HAL بأنّ اللعبة في حالة loading (تحميل) حتى يتمكّن Power HAL من تقديم تحسين في التحميل.

يوضّح الشكل التالي تدفّق المعلومات من التطبيق إلى Power HAL للإشارة إلى حالة التحميل:

تعزيز التحميل

الشكل 2. تدفق المعلومات للإشارة إلى أنّ لعبة ما في حالة التحميل

تتيح لوحة بيانات اللعبة للمستخدمين تفعيل ميزة "تعزيز التحميل" أو إيقافها من خلال إعدادات الأداء. يتم دائمًا ضبط إعداد الأداء على "إيقاف" تلقائيًا.

تخصيص Power HAL باستخدام GAME وGAME_LOADING

للاستفادة من وضعَي GAME وGAME_LOADING، على المصنّعين الأصليين للأجهزة تخصيص تنفيذ Power HAL. بما أنّ إدارة الطاقة وتحسين الأداء خاصان بالأجهزة، لا تتوفّر أي تنفيذات مرجعية لوضعَي GAME أو GAME_LOADING إلى أن يتم طرح تنفيذ مرجعي لجهاز Google Pixel.

لتحسين الأداء في الوضعين GAME وGAME_LOADING، يمكن للمصنّعين الأصليين للأجهزة اختيار تنفيذ مجموعة من الإجراءات التالية:

  • استقرار عدد اللقطات في الثانية
  • زيادة سرعة ساعة وحدة المعالجة المركزية (CPU)
  • خفض سرعة الجهاز مؤقتًا بسبب ارتفاع درجة الحرارة
  • منح أولوية أعلى لوحدة المعالجة المركزية (CPU) لتطبيق اللعبة التي تعمل في المقدّمة
  • تقليل سرعة وحدة المعالجة المركزية المحسَّنة للتطبيقات العادية غير الألعاب
  • تحسين استراتيجية توزيع الطاقة ذات الصلة بالطاقة الحرارية

اختبار تنفيذ وضع "الألعاب"

لاختبار تنفيذ وضع GAME، استخدِم الاختبارات التي تبدأ بالبادئة testGamePowerMode_ في GameManagerServiceTests.java.

اختبار تنفيذ GAME_LOADING

لاختبار تنفيذ وضع GAME_LOADING، استخدِم android.gamemanager.cts.GameManagerTest#testSetGameContext. يتحقّق هذا الاختبار مما إذا استدعى GameManager::setGameContext() مع سياق isLoading وضع تحميل اللعبة على Power HAL في وضع الأداء.