Netmarble Games: Tối ưu hoá hiệu suất bằng ADPF

Netmarble: biểu trưng của bộ phim Game of Thrones
Netmarble: cảnh chiến đấu
Netmarble: cảnh chiến đấu với trùm cấp trường Drogon

Netmarble, một nhà phát triển trò chơi hàng đầu dành cho thiết bị di động, đã phát triển Game of Thrones: Kingsroad (sắp ra mắt trên Android), một trò chơi nhập vai phiêu lưu hành động dựa trên loạt phim Game of Thrones từng đoạt giải Emmy® và Golden Globe®. Họ gặp phải các vấn đề về hiệu suất, cụ thể là điều tiết nhiệt, trong khi chạy trò chơi trên các thiết bị Android, ảnh hưởng đến hiệu suất ổn định và trải nghiệm người dùng. Để giải quyết vấn đề này, họ đã tận dụng một cách chiến lược Khung hiệu suất thích ứng Android (ADPF) và triển khai các biện pháp tối ưu hoá tập trung vào việc điều chỉnh tỷ lệ độ phân giải và tốc độ khung hình động.

Thách thức

Các trò chơi di động có độ chân thực cao đòi hỏi nhiều tài nguyên GPU và CPU, thường dẫn đến việc tạo ra quá nhiều nhiệt và điều tiết nhiệt trên thiết bị Android. Netmarble nhận thấy rằng các phiên chơi kéo dài làm tăng nhiệt độ thiết bị, dẫn đến hiệu suất giảm, bao gồm cả tốc độ khung hình giảm và hiệu suất không nhất quán. Thách thức chính là duy trì trải nghiệm hấp dẫn về hình ảnh trong khi vẫn quản lý hiệu quả nhiệt độ thiết bị để tránh tình trạng điều tiết và đảm bảo hiệu suất ổn định.

Giải pháp

Netmarble đã áp dụng phương pháp dựa trên dữ liệu để sử dụng ADPF, tập trung vào các biện pháp điều chỉnh động dựa trên trạng thái nhiệt theo thời gian thực.

Xác định nút thắt cổ chai về hiệu suất

Netmarble đã tiến hành một phân tích hiệu suất kỹ lưỡng, đo lường tác động của nhiều chế độ cài đặt chất lượng đồ hoạ đối với cả tốc độ khung hình và tải nhiệt. Phân tích này cho thấy việc điều chỉnh theo tỷ lệ độ phân giải có tác động đáng kể nhất đến tải GPU và đầu ra nhiệt, mà không ảnh hưởng nghiêm trọng đến tốc độ khung hình. Quan trọng là họ nhận thấy các tuỳ chọn đồ hoạ khác (bóng đổ, hoạ tiết, v.v.) có tác động tương đối nhỏ đến hiệu suất nhiệt tổng thể.

Điều chỉnh độ phân giải động

Netmarble đã thêm một hệ thống độ phân giải động. API này thay đổi chất lượng hình ảnh của trò chơi dựa trên nhiệt độ của thiết bị, bằng cách sử dụng API Nhiệt ADPF. Điều này cho phép trò chơi thích ứng với nhiều điều kiện. Khi thiết bị mát, trò chơi sẽ sử dụng độ phân giải cao. Nếu thiết bị quá nóng, trò chơi sẽ giảm độ phân giải để giảm nhiệt.

Điều chỉnh tốc độ khung hình thích ứng

Cùng với việc điều chỉnh theo tỷ lệ độ phân giải, Netmarble đã triển khai các biện pháp điều chỉnh tốc độ khung hình động. Nếu FPS mục tiêu của trò chơi được đặt thành 60, thì hệ thống có thể giảm dần FPS mục tiêu khi phát hiện nhiệt độ quá cao. Để tránh các vấn đề về nhiệt, Netmarble đã đặt FPS có thể mở rộng tối thiểu là 30. Điều này đảm bảo trải nghiệm chơi trò chơi nhất quán. Ngoài ra, hệ thống được thiết kế để tăng dần FPS trở lại mục tiêu khi nhiệt giảm, duy trì hiệu suất tối ưu.

Kết quả

Việc triển khai tính năng điều chỉnh độ phân giải động và điều chỉnh FPS thích ứng, do ADPF điều khiển, đã giúp cải thiện đáng kể khả năng quản lý nhiệt và hiệu suất ổn định.

Netmarble: so sánh hiệu suất
  • Cải thiện khoảng nhiệt: ADPF đã giảm khoảng nhiệt trung bình từ 1,04 xuống 0,92 (giảm 11%), ngăn chặn sự suy giảm hiệu suất và tăng tuổi thọ thiết bị. Giá trị khoảng nhiệt không bao giờ vượt quá 1,0, nhờ đó ngăn thiết bị quá nhiệt.
  • Tốc độ khung hình nhất quán hơn: ADPF mang đến trải nghiệm chơi mượt mà hơn bằng cách điều chỉnh thông minh tốc độ khung hình mục tiêu của trò chơi dựa trên trạng thái nhiệt của thiết bị. Nếu không có ADPF, FPS của trò chơi có thể biến động đáng kể (ví dụ: từ 40 đến 56) do điều tiết nhiệt. Tốc độ khung hình không nhất quán này (do thiết bị khó quản lý nhiệt) có thể dẫn đến trải nghiệm chơi trò chơi khó chịu và khó chịu. Với ADPF, trò chơi chủ động giảm FPS mục tiêu khi cần để ngăn tình trạng tích tụ nhiệt quá mức, đảm bảo tốc độ khung hình ổn định và nhất quán hơn, thường trong phạm vi 50-60 FPS. Điều này giúp ngăn tình trạng giảm khung hình đột ngột liên quan đến việc điều tiết nhiệt, nhờ đó mang lại trải nghiệm người chơi tốt hơn và thú vị hơn đáng kể.
  • Giữ nguyên đồ hoạ chất lượng cao: Bằng cách ưu tiên việc điều chỉnh tỷ lệ độ phân giải làm cơ chế điều chỉnh chính, Netmarble đã giảm thiểu tác động hình ảnh của việc quản lý nhiệt, giữ các chế độ cài đặt khác (hiệu ứng, hoạ tiết, v.v.) ở mức cao hơn.

Kết luận

Bằng cách tập trung vào việc điều chỉnh tỷ lệ độ phân giải và FPS động theo hướng dẫn của ADPF, Netmarble đã giảm thiểu thành công các vấn đề về tình trạng quá nhiệt trong Game of Thrones: Kingsroad, đồng thời duy trì sự cân bằng tối ưu giữa hiệu suất, chất lượng hình ảnh và trải nghiệm người dùng. Việc sử dụng ADPF một cách chiến lược của họ cho thấy một phương pháp hiệu quả dành cho các nhà phát triển trò chơi dành cho thiết bị di động đang gặp phải những thách thức tương tự. ADPF mang đến trải nghiệm đáng tin cậy, thú vị và nhất quán hơn, cho phép người chơi chơi lâu hơn với ít tình trạng giảm khung hình hơn và giảm mối lo ngại về việc thiết bị quá nhiệt. Với giải pháp này, Netmarble tiếp tục mang đến trải nghiệm chơi trò chơi chất lượng cao, đồng thời đảm bảo hiệu suất và tuổi thọ tối ưu cho thiết bị.

Bắt đầu sử dụng ADPF ngay hôm nay trong Unity, Unreal và C++

Các nhà phát triển quan tâm đến việc sử dụng Khả năng thích ứng của Android nên làm như sau:

Bất kể bạn sử dụng công cụ nào, bạn luôn có thể chọn sử dụng trực tiếp các API. Tìm hiểu thêm tại Khả năng thích ứng của Androidtrình bổ trợ ADPF của Unreal Engine.