بدءًا من Android 14، يتيح وضع طاقة جديد باسم GAME
في "إطار عمل الأداء الديناميكي في Android" (ADPF) تخصيص
أداء الهاتف أثناء استخدام الألعاب. يشير GAME
إلى Power HAL بأنّ تطبيقًا للألعاب يعمل في المقدّمة. يسمح هذا المؤشر لطبقة تجريد الأجهزة (HAL) الخاصة بالطاقة بتبنّي استراتيجيات إدارة الطاقة أثناء تشغيل إحدى الألعاب، ما يتيح للمستخدم الاستمتاع بأداء ثابت ومحسّن.
لتحسين وقت تحميل الألعاب، يقدّم الإصدار 13 من نظام التشغيل Android وضع طاقة جديدًا باسم GAME_LOADING
في واجهة برمجة التطبيقات ADPF. يشير GAME_LOADING
إلى ما إذا كان تطبيق لعبة في حالة التحميل، وذلك كي يتمكّن Power HAL من تقديم تعزيز للتحميل. يسمح هذا المؤشر لطبقة تجريد الأجهزة (HAL) الخاصة بالطاقة بتوفير إجراءات لتحسين الأداء يمكن أن تؤدي إلى تسريع وقت تحميل اللعبة.
توضّح هذه الصفحة كيفية نقل تطبيق اللعبة حالة اللعبة إلى 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. يقدّم نظام التشغيل Android 13
حالة لعبة جديدة باسم isLoading
في واجهة برمجة التطبيقات المخصّصة للمطوّرين.
تستخدِم حالة اللعبة هذه وضع الطاقة الجديد GAME_LOADING
في خدمة "إدارة الطاقة" لإبلاغ Power HAL بحالة اللعبة ذات المستوى الأعلى. بعد إعلام طبقة تجريد الأجهزة (HAL) الخاصة بالطاقة بحالة تحميل اللعبة، يمكنها ضبط إعدادات الأداء في النظام الأساسي ومعدّل سرعة وحدة المعالجة المركزية، ما يؤدي إلى تحسين أوقات التحميل.
للإشارة إلى أنّ إحدى الألعاب يتم تحميلها، يستخدم تطبيق اللعبة "لوحة بيانات الألعاب" لضبط حالة isLoading
في "إدارة الألعاب". ينقل Game Manager هذه الحالة إلى خدمة Game Manager، التي تستخدم setPowerMode
مع وضع الطاقة الجديد GAME_LOADING
لاستدعاء خدمة Power Manager. يشير 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
، يمكن لمصنّعي المعدات الأصلية اختيار تنفيذ مجموعة من الإجراءات التالية:
- تثبيت عدد اللقطات في الثانية
- زيادة سرعة وحدة المعالجة المركزية
- خفض تقييد السرعة بسبب درجة الحرارة بشكل مؤقت
- منح تطبيق اللعبة الذي يتم تشغيله في المقدّمة أولوية أعلى لوحدة المعالجة المركزية
- تقليل تعزيز أداء وحدة المعالجة المركزية (CPU) الذي تم ضبطه للتطبيقات العادية غير الألعاب
- تحسين استراتيجية توزيع الطاقة المرتبطة بالحرارة
اختبار تنفيذ "وضع الألعاب"
لاختبار تنفيذ وضع GAME
، استخدِم الاختبارات التي تبدأ بالبادئة testGamePowerMode_
في GameManagerServiceTests.java
.
اختبار تنفيذ GAME_LOADING
لاختبار تنفيذ وضع GAME_LOADING
، استخدِم android.gamemanager.cts.GameManagerTest#testSetGameContext
.
يتحقّق هذا الاختبار مما إذا كان GameManager::setGameContext()
مع سياق isLoading
يؤدي إلى تفعيل وضع تحميل اللعبة على Power HAL في وضع الأداء.