با شروع اندروید 14، یک حالت قدرت جدید به نام GAME در چارچوب عملکرد پویای اندروید (ADPF) امکان سفارشی سازی عملکرد تلفن را در حین استفاده از بازی فراهم می کند. GAME به Power HAL نشان می دهد که یک برنامه بازی در پیش زمینه است. این نشانگر به Power HAL اجازه میدهد تا استراتژیهای مدیریت انرژی را هنگام انجام بازی اتخاذ کند تا کاربر عملکرد پایدار و بهبود یافتهای را تجربه کند.
برای بهبود زمان بارگذاری بازی، اندروید 13 یک حالت قدرت جدید به نام GAME_LOADING در ADPF معرفی میکند. GAME_LOADING نشان میدهد که آیا یک برنامه بازی در حالت بارگیری است تا Power HAL بتواند بارگذاری را تقویت کند. این نشانگر به Power HAL اجازه می دهد تا اقدامات افزایش عملکرد را ارائه دهد که می تواند زمان بارگذاری بازی را سرعت بخشد.
این صفحه توضیح میدهد که چگونه برنامه بازی وضعیت بازی را به Power HAL منتقل میکند، نحوه پیکربندی Power HAL را برای استفاده از آن در دستگاههای خود و همچنین نحوه آزمایش پیادهسازی Power HAL را توضیح میدهد.
تشخیص و اعلان حالت Power
این بخش نحوه مدیریت Power Manager با حالت های GAME و GAME_LOADING را توضیح می دهد.
حالت پاور بازی
حالت پاور جدید GAME در اندروید 14 به سرویس Power Manager نشان می دهد که کاربر در حال انجام یک بازی است. هنگامی که Power HAL از حالت GAME مطلع می شود، می تواند قدرت را برای بهبود عملکرد، کاهش دما و افزایش عمر باتری در حین انجام بازی تنظیم کند.
شکل زیر جریان اطلاعات به Power HAL را برای نشان دادن حالت پاور GAME توضیح می دهد:

شکل 1. جریان اطلاعات برای نشان دادن اینکه یک بازی در حال انجام است.
حالت روشن/خاموش GAME همیشه برای برنامههای دارای یک appCategory از GAME در AndroidManifest.xml تنظیم میشود.
حالت برق GAME_LOADING
حالت تقویت بارگذاری با تشخیص زمانی که یک برنامه بازی در حالت بارگیری است و اطلاع دادن به Power HAL کار می کند. اندروید 13 حالت بازی جدیدی به نام isLoading در API رو به توسعهدهنده معرفی میکند. این حالت بازی از حالت برق جدید GAME_LOADING در سرویس Power Manager استفاده میکند تا Power HAL را در مورد وضعیت سطح بالای بازی مطلع کند. هنگامی که Power 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 ، OEM ها باید پیاده سازی Power HAL را سفارشی کنند. از آنجایی که مدیریت انرژی و افزایش عملکرد مختص سخت افزار است، هیچ پیاده سازی مرجعی برای حالت های GAME یا GAME_LOADING در دسترس نیست تا زمانی که یک پیاده سازی مرجع برای دستگاه Google Pixel منتشر شود.
برای بهبود عملکرد در حالت GAME و GAME_LOADING ، OEM ها می توانند ترکیبی از اقدامات زیر را اجرا کنند:
- نرخ فریم را تثبیت کنید
- سرعت ساعت CPU را افزایش دهید
- به طور موقت کاهش دما را کاهش دهید
- اولویت CPU بالاتری را به برنامه بازی پیش زمینه اختصاص دهید
- کاهش تقویت CPU که برای برنامه های معمولی و غیر بازی تنظیم شده است
- بهینه سازی استراتژی توزیع برق مربوط به حرارت
اجرای حالت GAME را آزمایش کنید
برای آزمایش اجرای حالت GAME ، از تستهای پیشوند testGamePowerMode_ در GameManagerServiceTests.java استفاده کنید.
اجرای GAME_LOADING را آزمایش کنید
برای آزمایش اجرای حالت GAME_LOADING ، از android.gamemanager.cts.GameManagerTest#testSetGameContext استفاده کنید. این تست بررسی می کند که GameManager::setGameContext() با زمینه isLoading حالت بارگیری بازی را در Power HAL در حالت عملکرد فراخوانی می کند یا خیر.