Kể từ Android 14, chế độ năng lượng mới có tên là GAME
trong Android Dynamic Performance Framework (Khung hiệu suất động Android – ADPF) cho phép tuỳ chỉnh
hiệu suất của điện thoại trong khi dùng trò chơi. GAME
cho HAL nguồn biết rằng
ứng dụng trò chơi chạy ở nền trước. Chỉ báo này cho phép HAL nguồn
áp dụng chiến lược quản lý nguồn điện khi đang chơi trò chơi để người dùng
mang lại hiệu suất ổn định và được cải thiện.
Để cải thiện thời gian tải của trò chơi, Android
13 giới thiệu một chế độ năng lượng mới có tên là GAME_LOADING
trong ADPF. GAME_LOADING
cho biết liệu một ứng dụng trò chơi có ở trạng thái đang tải hay không để
HAL nguồn có thể giúp tăng tốc độ tải. Chỉ báo này cho phép HAL nguồn
nhằm cung cấp các biện pháp tăng hiệu suất có thể tăng tốc độ tải trò chơi
bất cứ lúc nào.
Trang này mô tả cách ứng dụng trò chơi vượt qua trạng thái trò chơi thành HAL Nguồn, giải thích cách định cấu hình HAL Nguồn để tận dụng tính năng này trong thiết bị của bạn cũng như cách kiểm tra HAL nguồn trong quá trình triển khai.
Phát hiện và thông báo chế độ nguồn
Phần này mô tả cách Trình quản lý năng lượng xử lý các chế độ GAME
và GAME_LOADING
.
Chế độ năng lượng của GAME
Chế độ nguồn mới GAME
trong Android 14 cho biết
Dịch vụ Power Manager
người dùng đang chơi trò chơi. Khi HAL nguồn được thông báo về GAME
nó có thể điều chỉnh công suất để nâng cao hiệu suất, giảm nhiệt độ và kéo dài
thời lượng pin trong khi đang chơi trò chơi.
Hình dưới đây giải thích luồng thông tin đến HAL nguồn để
cho biết chế độ nguồn GAME
:
Hình 1. Luồng thông tin cho biết một trận đấu đang diễn ra.
Chế độ nguồn GAME
luôn được đặt cho các ứng dụng có appCategory
trong tổng số GAME
trong AndroidManifest.xml
.
Chế độ nguồn GAME_loadING
Chế độ tăng tốc tải hoạt động bằng cách phát hiện thời điểm một ứng dụng trò chơi đang tải
nêu rõ và thông báo cho HAL nguồn. Android 13
đưa ra trạng thái trò chơi mới có tên là isLoading
trong API dành cho nhà phát triển.
Trạng thái trò chơi này sử dụng GAME_LOADING
mới
chế độ nguồn trong Dịch vụ quản lý điện để thông báo cho HAL nguồn về
trạng thái trò chơi của cấp độ. Sau khi được thông báo về trạng thái tải trò chơi, HAL nguồn
có thể điều chỉnh các chế độ cài đặt về hiệu suất
của nền tảng và tốc độ xung nhịp của CPU. Điều này mang lại
tăng thời gian tải.
Để cho biết một trò chơi đang tải, ứng dụng trò chơi này sử dụng Trang tổng quan trò chơi để thiết lập
isLoading
trong Trình quản lý trò chơi. Trình quản lý trò chơi chuyển trạng thái này cho Trò chơi
Dịch vụ quản lý, trong đó sử dụng setPowerMode
với GAME_LOADING
mới
chế độ nguồn để gọi Dịch vụ Trình quản lý năng lượng. Chế độ nguồn GAME_LOADING
cho HAL Power biết rằng trò chơi đang ở
trạng thái đang tải để HAL Power có thể tăng tốc độ tải.
Hình dưới đây giải thích luồng thông tin từ ứng dụng đến nút Nguồn HAL để cho biết trạng thái tải:
Hình 2. Luồng thông tin cho biết trò chơi đang ở trạng thái tải.
Trang tổng quan trò chơi cho phép người dùng bật hoặc tắt tính năng tăng cường tải trang Cài đặt hiệu suất. Chế độ Cài đặt hiệu suất luôn tắt theo mặc định.
Tuỳ chỉnh Power HAL bằng cách sử dụng GAME và GAME_hấtING
Để tận dụng các chế độ GAME
và GAME_LOADING
, OEM phải
tuỳ chỉnh cách triển khai HAL Power.
Vì việc quản lý nguồn điện và tăng cường hiệu suất là dành riêng cho từng phần cứng, nên không có thông tin tham khảo nào
triển khai cho chế độ GAME
hoặc GAME_LOADING
khả dụng cho đến
phát hành triển khai tham chiếu cho thiết bị Google Pixel.
Để nâng cao hiệu suất ở chế độ GAME
và GAME_LOADING
, OEM có thể chọn
hãy triển khai kết hợp các biện pháp sau:
- Ổn định tốc độ khung hình
- Tăng tốc độ xung nhịp của CPU
- Tạm thời giảm mức điều tiết nhiệt độ
- Chỉ định mức độ ưu tiên cao hơn của CPU cho ứng dụng trò chơi trên nền trước
- Giảm mức tăng CPU được điều chỉnh cho các ứng dụng thông thường, không phải trò chơi
- Tối ưu hoá chiến lược phân phối điện liên quan đến nhiệt
Kiểm thử việc triển khai chế độ TRÒ CHƠI
Để kiểm thử việc triển khai chế độ GAME
, hãy sử dụng các chương trình kiểm thử có tiền tố
testGamePowerMode_
trong GameManagerServiceTests.java
.
Kiểm thử quá trình triển khai GAME_TẢIING
Để kiểm thử việc triển khai chế độ GAME_LOADING
, hãy sử dụng android.gamemanager.cts.GameManagerTest#testSetGameContext
.
Quy trình kiểm tra này xác minh xem GameManager::setGameContext()
có isLoading
hay không
ngữ cảnh gọi chế độ tải trò chơi trên HAL nguồn ở chế độ hiệu suất.