שיפור הביצועים של משחקים

החל מ-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 במצב ביצועים.