החל מ-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 יישום בפועל.
זיהוי והתראות של מצב הפעלה
בקטע הזה מתואר אופן הטיפול של Power Manager במצבים GAME
ו-GAME_LOADING
.
מצב הפעלה במשחק
מצב ההפעלה החדש GAME
ב-Android 14 מציין
שירות Power Manager
שהמשתמש משחק במשחק. כשמתקבלת הודעה ל-Power HAL לגבי GAME
במצב הזה, ניתן לכוונן את אספקת החשמל כדי לשפר את הביצועים, להפחית את הטמפרטורה ולהאריך
חיי הסוללה, בזמן המשחק.
האיור הבא מסביר את זרימת המידע ל-Power HAL
ציון מצב ההפעלה של GAME
:
איור 1. זרימה של מידע שמצביעה על כך שמשחקים במשחק.
מצב ההפעלה של GAME
תמיד מוגדר לאפליקציות עם appCategory
מתוך GAME
בAndroidManifest.xml
.
מצב הפעלה GAME_LOADING
מצב שיפור הטעינה פועל על ידי זיהוי מתי אפליקציית משחק נמצאת בטעינה
ומיידעת את Power HAL. 13 Android
מציגה מצב משחק חדש בשם isLoading
ב-API שמיועד למפתחים.
מצב המשחק הזה כולל את הגרסה החדשה של GAME_LOADING
למצב צריכת חשמל בשירות מנהל ההפעלה כדי להודיע ל-Power HAL על
מצב המשחק. לאחר ש-Power HAL מקבל הודעה על מצב הטעינה של המשחק,
הוא יכול להתאים את הגדרות הביצועים ואת קצב השעון של המעבד (CPU),
בזמני טעינה משופרים.
כדי לציין שמשחק נטען, אפליקציית המשחק משתמשת במרכז בקרת המשחקים כדי להגדיר
isLoading
במנהל המשחקים. המצב הזה מועבר למשחק על ידי 'מנהל המשחקים'
שירות ניהול, שמשתמש ב-setPowerMode
עם הגרסה החדשה של GAME_LOADING
מצב הפעלה כדי להפעיל את שירות מנהל החשמל. מצב ההפעלה של GAME_LOADING
מציין ל-Power HAL שהמשחק
את מצב הטעינה כדי שה-Power HAL יוכל לשפר את הטעינה.
האיור הבא מסביר את זרימת המידע מהאפליקציה אל HAL לציון מצב הטעינה:
איור 2. רצף מידע שמציין שהמשחק נמצא במצב טעינה.
מרכז בקרת המשחקים מאפשר למשתמשים להפעיל או להשבית את תכונת שיפור הטעינה עם בהגדרה 'ביצועים'. כברירת מחדל, הגדרת הביצועים תמיד מושבתת.
התאמה אישית של Power HAL באמצעות GAME ו-GAME_LOADING
כדי לנצל את המצבים GAME
ו-GAME_LOADING
, יצרני ציוד מקורי צריכים
להתאים אישית את ההטמעה של Power HAL.
ניהול צריכת החשמל ושיפור הביצועים הם ספציפיים לחומרה, אין התייחסות
הטמעות של המצבים GAME
או GAME_LOADING
יהיו זמינות עד
הושקה הטמעת קובץ עזר למכשיר Google Pixel.
כדי לשפר את הביצועים במצב GAME
ו-GAME_LOADING
, יצרני ציוד מקורי יכולים לבחור
להטמיע שילוב של המדדים הבאים:
- לייצב את קצב הפריימים
- הגברת מהירות השעון של המעבד (CPU)
- הפחתה זמנית של ויסות הטמפרטורה
- הקצאה של עדיפות גבוהה יותר של המעבד (CPU) לאפליקציית המשחק בחזית
- הפחתת שיפור המעבד (CPU) שמכוון באפליקציות רגילות שאינן משחקים
- ביצוע אופטימיזציה לאסטרטגיה של הפצת חשמל שקשורה תרמית
בדיקת ההטמעה של מצב GAME
כדי לבדוק את ההטמעה של מצב GAME
, יש להשתמש בבדיקות שהקידומת שלהן היא
testGamePowerMode_
באפליקציית GameManagerServiceTests.java
.
בדיקת ההטמעה של GAME_LOADING
כדי לבדוק את ההטמעה של מצב GAME_LOADING
, צריך להשתמש ב-android.gamemanager.cts.GameManagerTest#testSetGameContext
.
הבדיקה מאמתת אם GameManager::setGameContext()
עם isLoading
ההקשר מפעיל את מצב הטעינה של המשחק ב-Power HAL במצב ביצועים.