از 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 را توضیح میدهد.
تشخیص و اعلان حالت مصرف
این بخش توضیح میدهد که «مدیر انرژی» چگونه حالتهای GAME و GAME_LOADING را مدیریت میکند.
حالت مصرف انرژی بازی
حالت جدید «صرفهجویی در مصرف باتری» GAME در Android 14 به
خدمات مدیر انرژی
نشان میدهد که کاربر درحال بازی کردن است. وقتی Power HAL از حالت GAME مطلع میشود، میتواند درحین بازی کردن، مصرف برق را برای بهبود عملکرد، کاهش دما، و افزایش عمر باتری تنظیم کند.
شکل زیر جریان اطلاعات به Power HAL را برای نشان دادن حالت قدرت GAME توضیح میدهد:
شکل ۱. جریان اطلاعات برای نشان دادن اینکه بازی درحال انجام است.
حالت قدرت GAME همیشه برای برنامههایی با appCategory
GAME در AndroidManifest.xml تنظیم میشود.
حالت مصرف انرژی GAME_LOADING
حالت تقویت بارگیری با تشخیص زمانی که برنامه بازی در حالت بارگیری است و اطلاع دادن به Power HAL کار میکند. Android 13
وضعیت بازی جدیدی بهنام isLoading را در میانای برنامهسازی کاربردی ویژه توسعهدهندگان معرفی میکند.
این وضعیت بازی از حالت جدید GAME_LOADING
قدرت در «سرویس مدیر قدرت» برای مطلع کردن «لایه انتزاع سختافزار قدرت» درباره وضعیت بازی سطح بالا استفاده میکند. وقتی «لایه انتزاع سختافزاری قدرت» از وضعیت بارگیری بازی مطلع شود، میتواند تنظیمات عملکرد پلاتفرم و نرخ ساعت CPU را تنظیم کند که منجر به بهبود زمان بارگیری میشود.
برای نشان دادن اینکه بازی درحال بار شدن است، برنامه بازی از «داشبورد بازیها» برای تنظیم
وضعیت isLoading
در «مدیر بازی» استفاده میکند. «مدیر بازی» این وضعیت را به «سرویس مدیر بازی» منتقل میکند، که از setPowerMode
با حالت جدید GAME_LOADING
مصرف برق برای فراخوانی «سرویس مدیر برق» استفاده میکند. حالت مصرف برق GAME_LOADING
به Power HAL نشان میدهد که بازی در
وضعیت بار کردن است تا Power HAL بتواند تقویت بار کردن را ارائه دهد.
شکل زیر جریان اطلاعات از برنامه به Power HAL را برای نشان دادن وضعیت بارگیری توضیح میدهد:
شکل ۲. جریان اطلاعات برای نشان دادن اینکه بازی در وضعیت بارگیری است.
داشبورد بازی به کاربران امکان میدهد ویژگی «بهینهسازی بار کردن» را با «تنظیم عملکرد» روشن یا خاموش کنند. «تنظیم عملکرد» همیشه بهطور پیشفرض خاموش است.
سفارشیسازی 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
حالت بار کردن بازی را در «لایه انتزاع سختافزاری قدرت» در حالت عملکرد فرا میخواند یا نه.