Các biện pháp can thiệp vào Chế độ trò chơi là các biện pháp tối ưu hoá dành riêng cho trò chơi do các nhà sản xuất thiết bị gốc (OEM) đặt ra để cải thiện hiệu suất của những trò chơi không còn được các nhà phát triển cập nhật. Ví dụ:
- Sử dụng tính năng đổi kích thước vùng đệm WindowManager.
- Sử dụng ANGLE thay vì trình điều khiển GLES gốc.
Bạn có thể yêu cầu trò chơi hỗ trợ và quản lý Game Mode API để trò chơi ghi đè các biện pháp can thiệp của Game Mode do nhà sản xuất thiết bị gốc (OEM) cung cấp.
Bạn có thể sử dụng Game Mode API và các biện pháp can thiệp trên:
- Chọn thiết bị Android 12
- Thiết bị chạy Android 13 trở lên
Mỗi trò chơi có thể:
- Triển khai hành vi của Game Mode API (API Chế độ trò chơi),
- Đề xuất các chế độ cài đặt biện pháp can thiệp Chế độ trò chơi cho nhà sản xuất thiết bị gốc (OEM) hoặc
- Chọn không sử dụng các biện pháp can thiệp của Chế độ trò chơi một cách rõ ràng.
Thông tin khái quát
Phần này mô tả những biện pháp can thiệp của Chế độ trò chơi và cách tối ưu hoá trò chơi cho từng chế độ.
Đổi kích thước vùng đệm WindowManager
Can thiệp đổi kích thước vùng đệm WindowManager có thể làm giảm tải GPU của thiết bị. Việc này cũng có thể làm giảm mức tiêu thụ pin khi trò chơi duy trì một tốc độ khung hình mục tiêu.
Việc bật tính năng đổi kích thước có thể làm giảm 30% năng lượng cho GPU và 10% mức sử dụng năng lượng tổng thể của hệ thống. Kết quả còn tuỳ thuộc vào thiết bị sử dụng, điều kiện môi trường và các yếu tố khác, chẳng hạn như quá trình xử lý đồng thời.
Những trò chơi chưa có tốc độ nhưng bị ràng buộc bởi GPU có khả năng sẽ đạt được tốc độ khung hình cao hơn trong khi giảm được tải GPU.
Đối với mọi trò chơi, bạn luôn nên giữ tốc độ vì tốc độ khung hình không đồng đều sẽ ảnh hưởng đáng kể đến cảm nhận của người dùng về hiệu suất.
Chế độ điều tiết FPS (khung hình/giây)
Chế độ điều tiết FPS (khung hình/giây) của Android là một biện pháp can thiệp vào Chế độ trò chơi nhằm giúp trò chơi chạy ở tốc độ khung hình ổn định hơn và giảm mức tiêu thụ pin. Biện pháp can thiệp này có trên Android 13 trở lên. Để biết thêm thông tin, hãy xem bài viết Tổng quan về tính năng điều tiết FPS.
Đánh giá các biện pháp can thiệp vào Chế độ trò chơi
Phần này sử dụng lệnh adb.
Thiết lập các chế độ
Bạn phải chọn không sử dụng Chế độ trò chơi trong tệp cấu hình Chế độ trò chơi của ứng dụng trước khi kiểm thử các biện pháp can thiệp vào Chế độ trò chơi. Nếu không, nền tảng sẽ bỏ qua các tệp này và chỉ tuân theo các tuỳ chọn tối ưu hoá trong trò chơi.
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsBatteryGameMode="false"
android:supportsPerformanceGameMode="false"
/>
(Không bắt buộc) Sao lưu cấu hình thiết bị hiện có
Đối với Pixel hoặc các thiết bị khác, có thể có một cấu hình can thiệp trò chơi có sẵn trong cấu hình thiết bị của bạn. Bạn có thể truy vấn cấu hình bằng lệnh:
adb shell device_config get game_overlay <PACKAGE_NAME>
Nếu truy vấn trả về null
, hãy bỏ qua cấu hình hiện có. Nếu không, hãy lưu và đặt lại giá trị này sau khi đánh giá.
Đánh giá biện pháp can thiệp
Để đánh giá biện pháp can thiệp đổi kích thước vùng đệm WindowManager, hãy dùng lệnh sau để đặt các giá trị đổi kích thước vùng đệm WindowManager khác nhau trên các chế độ trò chơi.
adb shell device_config put game_overlay <PACKAGE_NAME>
mode=2,downscaleFactor=0.9:mode=3,downscaleFactor=0.5
Trong ví dụ trên, mode=2
là "Hiệu suất" và mode=3
là "Trình tiết kiệm pin". Giá trị downscaleFactor
được chỉ định là một tỷ lệ phần trăm áp dụng cho chế độ cài đặt đổi kích thước (ví dụ: 0,7 là 70% và 0,8 là 80%). Việc đổi kích thước 90% (0,9) gần như không đáng kể, trong khi 50% (0,5) là đáng kể.
Cảnh báo: Các quy trình con có thể không được đổi kích thước đúng cách trong Android 12. Cụ thể, hãy đảm bảo thông báo ngắn và cửa sổ bật lên hiển thị chính xác. Bạn nên giới hạn chế độ cài đặt đổi kích thước ở mức tối thiểu là 70%.
Sau khi thiết lập các giá trị đổi kích thước mới, hãy chuyển đổi giữa các chế độ trò chơi để xem biện pháp can thiệp đổi kích thước vùng đệm WindowManager ảnh hưởng như thế nào đến trò chơi:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
Hãy nhớ khởi động lại trò chơi sau mỗi lần chọn chế độ trò chơi. Bạn cần khởi động lại ứng dụng để thực hiện biện pháp can thiệp giảm tỷ lệ.
Chọn không can thiệp
Bạn có thể kiểm soát việc có áp dụng biện pháp can thiệp cho trò chơi của mình hay không bằng cách chọn không sử dụng. Mỗi biện pháp can thiệp lại có chế độ cài đặt chọn không sử dụng riêng.
- Tệp XML cấu hình dùng để kiểm soát việc chọn sử dụng và chọn không sử dụng Chế độ trò chơi cũng được dùng cho các chế độ cài đặt can thiệp:
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:allowGameDownscaling="false"
android:allowGameFpsOverride="false"
/>
- Xây dựng lại rồi gửi lại trò chơi của bạn để chọn không tham gia.
Theo mặc định, các biện pháp can thiệp do nhà sản xuất thiết bị gốc (OEM) đặt ra sẽ được sử dụng, trừ phi bạn thể hiện rõ việc chọn không áp dụng cho trò chơi của mình.
Tài nguyên
Để biết thêm thông tin về cách đo lường và tối ưu hóa hiệu suất của trò chơi, hãy tham khảo:
Trình phân tích tài nguyên hệ thống (System Profiler) – phân tích mức sử dụng CPU và các lệnh gọi đồ hoạ.
Trình kiểm tra GPU của Android (Android GPU Inspector) – phân tích hiệu suất đồ hoạ trên Android.
Thư viện tốc độ khung hình cho Android (Android Frame Pacing Library) – giúp các trò chơi OpenGL và Vulkan có thể kết xuất mượt mà và đúng tốc độ khung hình.
Android Performance Tuner – đo lường và tối ưu hóa tốc độ khung hình và hình ảnh đồ họa trên các thiết bị Android ở quy mô lớn.
Trình phân tích năng lượng (Power Profiler) – tìm ra nơi ứng dụng của bạn sử dụng nhiều năng lượng hơn mức cần thiết.