بدءًا من الإصدار 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 في وضع الأداء.