Việc cải thiện hiệu suất và quản lý nhiệt là điều cần thiết để phát triển trò chơi thành công trên Android. Theo truyền thống, nhà phát triển phải quản lý những vấn đề này bằng cách giảm độ trung thực của trò chơi hoặc tối ưu hoá trình kết xuất hơn nữa. Những thay đổi này thường dành riêng cho trò chơi và thường không linh hoạt.
Một số thành phần tham gia trong hệ sinh thái Android cung cấp API hiệu suất thích ứng cho nhà phát triển. Để đơn giản hoá việc tích hợp các tính năng hiệu suất thích ứng và giảm sự phân mảnh trong hệ sinh thái, Google và MediaTek đang cộng tác để tích hợp các sản phẩm của chúng tôi: Khung hiệu suất động Android (ADPF) và Công nghệ chơi trò chơi thích ứng của MediaTek (MAGT).
ADPF giúp nhà phát triển điều chỉnh mức tải trò chơi dựa trên tình huống nhiệt theo thời gian thực và đưa ra gợi ý cho hệ điều hành để tối ưu hoá hiệu suất cho mức tải hiện tại. Bạn có thể sử dụng các tín hiệu này để điều chỉnh các chế độ cài đặt về độ trung thực và hiệu suất, chẳng hạn như độ phân giải, tốc độ khung hình và thậm chí là chiến lược tải tài nguyên. Điều này giúp bạn cân bằng hiệu suất, nhiệt và độ chân thực tốt hơn, mang đến cho người chơi Android trải nghiệm tốt nhất có thể. Hệ sinh thái Android đã tận dụng công nghệ này một cách hiệu quả. Ares của Kakao Games có thể tăng độ ổn định của FPS lên 96% bằng cách điều chỉnh khối lượng công việc trong thời gian chạy để phản hồi API nhiệt.
MediaTek là nhà cung cấp hàng đầu về SoC trên Android. Công ty này sản xuất một số chip, chẳng hạn như Dimensity 9300 mới. MediaTek cũng cung cấp SDK MAGT, đã có từ năm 2021. SDK này cung cấp các tính năng nâng cao để điều chỉnh hiệu suất trên SoC MediaTek, chẳng hạn như thông tin chi tiết về hiệu suất theo thời gian thực và gợi ý để tăng khối lượng công việc. Ngoài việc cung cấp MAGT cho nhà phát triển, MediaTek cũng đã bắt đầu cung cấp các tính năng ADPF nâng cao.

Ngăn chặn tình trạng điều tiết nhiệt bằng ADPF và tối ưu hoá hiệu suất
MediaTek cho phép khung ADPF truy cập vào nhiệt độ hiện tại và nhiệt độ mục tiêu của thiết bị để ngăn chặn tình trạng điều tiết nghiêm trọng. Bằng cách sử dụng hàm getThermalHeadroom()
của ADPF, các ứng dụng có thể nhận được thông tin ước tính về khoảng nhiệt còn trống trước khi thiết bị đạt đến mức điều tiết nghiêm trọng. Khi sử dụng thông tin ước tính này, các ứng dụng có thể tự động điều chỉnh mức tải để ngăn thiết bị kích hoạt tính năng điều tiết, nhờ đó nâng cao trải nghiệm tổng thể của người dùng.
Ứng dụng (dùng bản minh hoạ Boat Attack của Unity làm ví dụ) cũng sử dụng API Phiên gợi ý hiệu suất để tối ưu hoá hiệu suất của ứng dụng.
Hàm này cung cấp thời gian kết xuất khung hình mục tiêu và thời gian kết xuất khung hình hiện tại cho từng khung hình thông qua các hàm updateTargetWorkDuration()
và reportActualWorkDuration()
tương ứng. Nền tảng MediaTek tính toán khối lượng công việc giữa hai lệnh gọi reportActualWorkDuration()
và phân bổ đủ dung lượng CPU để đảm bảo khối lượng công việc có thể hoàn thành trong khoảng thời gian mục tiêu.
Do đó, nền tảng MediaTek luôn cung cấp số khung hình tối ưu mỗi giây (FPS) với mức tiêu thụ điện năng cân bằng, đảm bảo trải nghiệm người dùng mượt mà.
Bật tốc độ khung hình tốt hơn, giảm mức tiêu thụ điện năng và kéo dài thời gian chơi
Nhìn chung, bản minh hoạ Unity Boat Attack đã cải thiện tốc độ khung hình thêm 8,5 khung hình/giây, giảm mức tiêu thụ điện năng thêm 12% và cho phép các phiên chơi kéo dài thêm 25 phút trở lên. Độ lệch chuẩn của FPS giảm 25%. Sự cải tiến đáng kể này cho phép bạn tăng độ chân thực của trò chơi và chạy các phiên chơi trong thời gian dài hơn theo cách bền vững về nhiệt.


Ngay cả khi không điều chỉnh chế độ cài đặt độ chân thực, chỉ cần bật phiên gợi ý hiệu suất, khối lượng công việc đã có thể giảm thời gian luồng kết xuất trung bình xuống gần 10%.
Hiệu suất thích ứng trên SoC MediaTek trong tương lai
ADPF sẽ được nâng cấp trong những năm tới với các tính năng mới và thêm các tính năng mới không phân biệt thiết bị từ MAGT. Đối với các nhà phát triển muốn khai thác tối đa thiết bị MediaTek, SDK MAGT chứa các tính năng nâng cao nhắm đến riêng cấu trúc chipset MediaTek và sẽ sớm cung cấp các tính năng ADPF cốt lõi.


Bắt đầu với khả năng thích ứng của Android
Khung hiệu suất động Android hiện đã có sẵn cho tất cả nhà phát triển trò chơi Android cho các công cụ phát triển trò chơi Unity, Unreal, Cocos Creator và thông qua các thư viện C++ gốc của chúng tôi.
- Đối với nhà phát triển Unity, bạn có thể bắt đầu sử dụng Trình cung cấp hiệu suất thích ứng phiên bản 5.0.0. Xin lưu ý rằng hầu hết các thiết bị Android từ Android 11 (API cấp 30) đều hỗ trợ API Nhiệt và API Gợi ý hiệu suất từ Android 12 (API cấp 31).
- Đối với các nhà phát triển Unreal, bạn có thể bắt đầu sử dụng trình bổ trợ Unreal Engine cho hiệu suất động trên Android cho hầu hết các thiết bị Android nhắm đến Android 12 (API cấp 31) trở lên.
- Đối với Cocos Creator, bạn có thể bắt đầu sử dụng API Nhiệt từ phiên bản 3.8.2 và API Gợi ý về hiệu suất từ phiên bản 3.8.3.
Đối với các công cụ phát triển trò chơi này, API nhiệt được tích hợp với Hiệu suất thích ứng để giúp bạn truy xuất thông tin nhiệt của thiết bị và API gợi ý hiệu suất được gọi tự động mỗi Update()
hoặc Monitor()
mà không cần làm gì thêm.
Cuối cùng, đối với các công cụ tuỳ chỉnh, bạn có thể tham khảo mẫu ADPF C++ gốc của chúng tôi.
Tài nguyên khác
Tìm hiểu cách Khung hiệu suất động Android có thể giúp bạn ổn định FPS của trò chơi và giảm tình trạng điều tiết nhiệt.
Tìm hiểu về Công nghệ chơi trò chơi thích ứng của MediaTek để điều chỉnh hiệu suất nâng cao trên SoC MediaTek.