بدءًا من Android 14، يتيح وضع طاقة جديد باسم GAME
في إطار عمل الأداء الديناميكي في Android (ADPF) تخصيص
أداء الهاتف أثناء استخدام الألعاب. يشير GAME إلى Power HAL بأنّ تطبيقًا للعبة يعمل في المقدّمة. يسمح هذا المؤشر لـ Power HAL باعتماد استراتيجيات إدارة الطاقة أثناء تشغيل لعبة، ما يمنح المستخدم أداءً مستقرًا ومحسّنًا.
لتحسين وقت تحميل اللعبة، يقدّم Android
13 وضع طاقة جديدًا باسم GAME_LOADING
في ADPF. يشير GAME_LOADING إلى ما إذا كان تطبيق اللعبة في حالة التحميل، ما يتيح لـ Power HAL توفير تعزيز للتحميل. يسمح هذا المؤشر لـ Power HAL بتوفير إجراءات تعزيز الأداء التي يمكن أن تسرّع وقت تحميل اللعبة.
توضّح هذه الصفحة كيفية تمرير تطبيق اللعبة لحالة اللعبة إلى Power HAL، وتشرح كيفية ضبط Power HAL للاستفادة منه في أجهزتك، بالإضافة إلى كيفية اختبار تنفيذ Power HAL.
اكتشاف وضع الطاقة والإشعار به
يصف هذا القسم كيفية تعامل "مدير الطاقة" مع وضعَي GAME وGAME_LOADING.
وضع الطاقة GAME
يشير وضع الطاقة الجديد GAME في Android 14 إلى
خدمة مدير الطاقة
بأنّ المستخدم يلعب لعبة. عندما يتم إشعار Power HAL بوضع GAME، يمكنه تعديل الطاقة لتحسين الأداء وخفض درجة الحرارة وإطالة عمر البطارية أثناء تشغيل اللعبة.
يوضّح الشكل التالي تدفق المعلومات إلى Power HAL للإشارة إلى وضع الطاقة GAME:
الشكل 1: تدفق المعلومات للإشارة إلى أنّ هناك لعبة قيد التشغيل
يتم دائمًا ضبط وضع الطاقة GAME للتطبيقات التي لها appCategory
بقيمة GAME في AndroidManifest.xml.
وضع الطاقة GAME_LOADING
يعمل وضع تعزيز التحميل من خلال رصد حالة تحميل تطبيق اللعبة وإشعار Power HAL بذلك. يقدّم Android 13
حالة لعبة جديدة باسم isLoading في واجهة برمجة التطبيقات المتاحة للمطوّرين.
تستخدم حالة اللعبة هذه وضع الطاقة الجديد GAME_LOADING
في خدمة "مدير الطاقة" لإشعار Power HAL بحالة اللعبة على المستوى الأعلى. بعد إشعار Power HAL بحالة تحميل اللعبة، يمكنه تعديل إعدادات أداء النظام الأساسي ومعدّل سرعة وحدة المعالجة المركزية، ما يؤدي إلى تحسين أوقات التحميل.
للإشارة إلى أنّ هناك لعبة قيد التحميل، يستخدم تطبيق اللعبة "لوحة بيانات الألعاب" لضبط
حالة isLoading
في "مدير الألعاب". يمرّر "مدير الألعاب" هذه الحالة إلى خدمة "مدير الألعاب"
، التي تستخدم setPowerMode
مع وضع الطاقة الجديد GAME_LOADING
لاستدعاء خدمة "مدير الطاقة". يشير وضع الطاقة GAME_LOADING إلى Power HAL بأنّ اللعبة في حالة تحميل، ما يتيح لـ Power HAL توفير تعزيز للتحميل.
يوضّح الشكل التالي تدفق المعلومات من التطبيق إلى Power HAL للإشارة إلى حالة التحميل:
الشكل 2: تدفق المعلومات للإشارة إلى أنّ هناك لعبة في حالة تحميل
تتيح "لوحة بيانات الألعاب" للمستخدمين تفعيل ميزة تعزيز التحميل أو إيقافها باستخدام "إعدادات الأداء". تكون "إعدادات الأداء" غير مفعّلة تلقائيًا.
تخصيص Power HAL باستخدام وضعَي GAME وGAME_LOADING
للاستفادة من وضعَي GAME وGAME_LOADING، على المصنّعين الأصليين للأجهزة
تخصيص تنفيذ Power HAL.
بما أنّ إدارة الطاقة وتعزيز الأداء خاصان بالأجهزة، لن تتوفّر أي عمليات تنفيذ مرجعية لوضعَي GAME أو GAME_LOADING إلى أن يتم إصدار عملية تنفيذ مرجعية لجهاز Google Pixel.
لتحسين الأداء في وضعَي GAME وGAME_LOADING، يمكن للمصنّعين الأصليين للأجهزة اختيار
تنفيذ مجموعة من الإجراءات التالية:
- تثبيت عدد اللقطات في الثانية
- زيادة سرعة وحدة المعالجة المركزية
- الحدّ مؤقتًا من تنظيم درجة الحرارة
- منح أولوية أعلى لوحدة المعالجة المركزية لتطبيق اللعبة الذي يعمل في المقدّمة
- الحدّ من تعزيز وحدة المعالجة المركزية الذي تم ضبطه للتطبيقات العادية غير الألعاب
- تحسين استراتيجية توزيع الطاقة المرتبطة بالحرارة
اختبار تنفيذ وضع GAME
لاختبار تنفيذ وضع GAME، استخدِم الاختبارات التي تبدأ بالبادئة testGamePowerMode_ في GameManagerServiceTests.java.
اختبار تنفيذ وضع GAME_LOADING
لاختبار تنفيذ وضع GAME_LOADING، استخدِم android.gamemanager.cts.GameManagerTest#testSetGameContext.
يتحقّق هذا الاختبار مما إذا كان GameManager::setGameContext() مع سياق isLoading يستدعي وضع تحميل اللعبة على Power HAL في وضع الأداء.