Tăng hiệu suất cho trò chơi

Bắt đầu từ Android 14, chế độ năng lượng mới có tên GAME trong Khung hiệu suất động của Android (ADPF) cho phép tùy chỉnh hiệu suất điện thoại trong quá trình sử dụng trò chơi. GAME cho Power HAL biết rằng có một ứng dụng trò chơi đang chạy ở nền trước. Chỉ báo này cho phép Power HAL áp dụng các chiến lược quản lý năng lượng khi trò chơi đang được chơi để người dùng trải nghiệm 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 chế độ năng lượng mới có tên GAME_LOADING trong ADPF. GAME_LOADING cho biết ứng dụng trò chơi có đang ở trạng thái tải hay không để Power HAL có thể tăng cường tải. Dấu hiệu này cho phép Power HAL cung cấp các biện pháp tăng cường hiệu suất có thể tăng tốc thời gian tải trò chơi.

Trang này mô tả cách ứng dụng trò chơi chuyển trạng thái trò chơi sang Power HAL, giải thích cách định cấu hình Power HAL để tận dụng lợi thế của nó trong thiết bị của bạn cũng như cách kiểm tra việc triển khai Power HAL của bạn.

Phát hiện và thông báo chế độ nguồn

Phần này mô tả cách Power Manager xử lý các chế độ GAMEGAME_LOADING .

Chế độ sức mạnh GAME

Chế độ nguồn mới GAME trong Android 14 cho Dịch vụ quản lý nguồn biết rằng người dùng đang chơi trò chơi. Sau khi Power HAL được thông báo về chế độ GAME , nó có thể điều chỉnh nguồn điện để nâng cao hiệu suất, giảm nhiệt độ và kéo dài tuổi thọ pin trong khi trò chơi đang được chơi.

Hình dưới đây giải thích luồng thông tin tới Power HAL để biểu thị chế độ nguồn GAME :

game-mode

Hình 1. Luồng thông tin cho biết trò chơi đang được chơi.

Chế độ nguồn GAME luôn được đặt cho các ứng dụng có appCategoryGAME trong AndroidManifest.xml .

Chế độ nguồn GAME_LOADING

Chế độ tăng cường tải hoạt động bằng cách phát hiện khi ứng dụng trò chơi ở trạng thái tải và thông báo cho Power HAL. Android 13 giới thiệu trạng thái trò chơi mới có tên isLoading trong API dành cho nhà phát triển . Trạng thái trò chơi này sử dụng chế độ năng lượng GAME_LOADING mới trong Dịch vụ quản lý nguồn để thông báo cho Power HAL về trạng thái trò chơi cấp cao nhất. Sau khi Power HAL được thông báo về trạng thái tải trò chơi, nó có thể điều chỉnh cài đặt hiệu suất và tốc độ xung nhịp CPU của nền tảng, giúp cải thiện thời gian tải.

Để cho biết trò chơi đang tải, ứng dụng trò chơi sử dụng Trang tổng quan trò chơi để đặt trạng thái 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 tới Dịch vụ quản lý trò chơi, dịch vụ này sử dụng setPowerMode với chế độ nguồn GAME_LOADING mới để gọi Dịch vụ quản lý nguồn. Chế độ nguồn GAME_LOADING cho Power HAL biết rằng trò chơi đang ở trạng thái tải để Power HAL có thể tăng cường tải.

Hình sau đây giải thích luồng thông tin từ ứng dụng đến Power HAL để biểu thị trạng thái tải:

loading-boost

Hình 2. Luồng thông tin cho biết trò chơi đang ở trạng thái tải.

Bảng điều khiển trò chơi cho phép người dùng bật hoặc tắt tính năng tăng tốc tải bằng Cài đặt hiệu suất. Cài đặt hiệu suất luôn được tắt theo mặc định.

Tùy chỉnh Power HAL bằng GAMEGAME_LOADING

Để tận dụng các chế độ GAMEGAME_LOADING , các OEM phải tùy chỉnh việc triển khai Power HAL của họ. Vì việc quản lý năng lượng và tăng cường hiệu suất phụ thuộc vào phần cứng cụ thể nên không có triển khai tham chiếu nào cho chế độ GAME hoặc GAME_LOADING cho đến khi triển khai tham chiếu cho thiết bị Google Pixel được phát hành.

Để nâng cao hiệu suất ở chế độ GAMEGAME_LOADING , OEM có thể chọn 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 điều chỉnh nhiệt độ
  • Chỉ định mức độ ưu tiên CPU cao hơn 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 hóa chiến lược phân phối điện liên quan đến nhiệt

Kiểm tra việc triển khai chế độ TRÒ CHƠI

Để kiểm tra việc triển khai chế độ GAME , hãy sử dụng các thử nghiệm có tiền tố testGamePowerMode_ trong GameManagerServiceTests.java .

Kiểm tra việc triển khai GAME_LOADING

Để kiểm tra việc triển khai chế độ GAME_LOADING , hãy sử dụng android.gamemanager.cts.GameManagerTest#testSetGameContext . Thử nghiệm này xác minh xem GameManager::setGameContext() với bối cảnh isLoading có gọi chế độ tải trò chơi trên Power HAL ở chế độ hiệu suất hay không.