Bắt đầu sử dụng Khung hiệu suất động Android (ADPF) trong Unreal Engine

Khung hiệu suất động Android (ADPF) là một công cụ mạnh mẽ của Google dành cho những nhà phát triển muốn tối ưu hoá hiệu suất của ứng dụng. Thông qua các API nhiệt, ADPF cung cấp thông tin theo thời gian thực về trạng thái nhiệt của thiết bị, sau đó được dùng để điều chỉnh chế độ cài đặt đồ hoạ trong ứng dụng.

Để phục vụ mục đích nghiên cứu, Arm đã phát triển một bản minh hoạ bằng cách sử dụng Unreal Engine và ADPF để điều tra cách ADPF được dùng để tối ưu hoá hiệu suất trò chơi.

ADPF theo dõi trạng thái nhiệt, trong đó chất lượng đồ hoạ được điều chỉnh trong công cụ phát triển trò chơi cho phù hợp.

Nhà phát triển cần lưu ý rằng mục tiêu là cho phép người dùng chơi trò chơi lâu hơn mà không ảnh hưởng đến trải nghiệm chơi trò chơi và thiết bị tiêu thụ quá nhiều năng lượng.

Trước khi bắt đầu

Trước khi xem chi tiết hơn về bản minh hoạ, điều quan trọng là bạn phải làm nổi bật tài liệu chính thức của Google về ADPF. Tài liệu này là một tài nguyên vô giá, cung cấp thông tin chi tiết chuyên sâu và hướng dẫn về cách sử dụng ADPF.

Tuy nhiên, đối với những người thích học tập có thể tuỳ chỉnh, kho lưu trữ mẫu ADPF chứa các ví dụ thực tế về cách triển khai ADPF trong các ứng dụng Android.

Điều chỉnh chế độ cài đặt đồ hoạ

Trong bối cảnh Unreal Engine, chúng ta có thể linh động điều chỉnh chế độ cài đặt đồ hoạ để duy trì hiệu suất.

Chúng tôi đã sử dụng Trình theo dõi trạng thái nhiệt và API Khoảng nhiệt trong ADPF để theo dõi việc điều tiết nhiệt. Sau đó, bạn có thể điều chỉnh các chế độ cài đặt chất lượng, chẳng hạn như chất lượng bóng, chất lượng phản chiếu và chất lượng hoạ tiết khi thiết bị bắt đầu điều tiết.

Các chế độ cài đặt Chất lượng đồ hoạ sau đây trong Unreal Engine được dùng để sửa đổi nhiều chế độ cài đặt:

  • ViewDistanceQuality
  • ShadowQuality
  • GlobalIlluminationQuality
  • ReflectionQuality
  • AntiAliasingQuality
  • TextureQuality
  • VisualEffectQuality
  • PostProcessingQuality
  • FoliageQuality
  • ShadingQuality
  • OverallScalabilityLevel

Kiểm thử trong thực tế

Arm tạo các trò chơi minh hoạ của riêng mình, dùng để nghiên cứu đồ hoạ và công nghệ trò chơi dành cho thiết bị di động. Năm nay, chúng tôi đã thử nghiệm ADPF trên một trong số đó, bản minh hoạ SteelArms.

SteelArms có nhiều mức độ cường độ đồ hoạ và khối lượng công việc đáng kể cho CPU. Trò chơi này được xây dựng giống như các trò chơi hiện đại dành cho thiết bị di động, vì vậy, chúng ta có thể lập mô hình hành vi của trò chơi trên điện thoại di động hiện nay. Điều này cũng cho phép chúng tôi kiểm thử cách thức hoạt động của nhiều công nghệ trong một trò chơi trên thiết bị di động dựa trên Arm.

Kết quả

Hình 1: So sánh toàn màn hình SteelArms có và không có ADPF.

Các hình ảnh trước đó cho thấy sự khác biệt giữa chất lượng tốt nhất (Cinematic) và chất lượng thấp nhất (Low) khi ADPF được kích hoạt để điều chỉnh chế độ cài đặt đồ hoạ. Thay đổi này diễn ra từ từ và người dùng sẽ không nhận thấy trong khi chơi.

Hình 2: Trò chơi tích hợp ADPF: chia đôi màn hình.

Chế độ xem chia đôi màn hình với chế độ cài đặt đồ hoạ cao nhất ở bên trái (Robot màu xanh dương) và chế độ cài đặt đồ hoạ thấp nhất ở bên phải (Robot màu đỏ).

Hình 3: Trò chơi tích hợp ADPF: so sánh chi tiết cạnh nhau.
Hình 4: Trò chơi tích hợp ADPF: cạnh nhau.

Trong hình 3 và 4 trước, bạn có thể thấy cùng một chế độ xem của rô-bốt cạnh nhau. Nếu xem xét kỹ hơn, bạn sẽ thấy chế độ cài đặt đồ hoạ được điều chỉnh bằng cách sử dụng ADPF. Bạn có để ý đến sàn đấu, vai của rô-bốt, dây của vòng đấu và đám đông không? Tất cả các ảnh này có vẻ có chất lượng thấp hơn một chút, điều này là do sử dụng ADPF.

Khi sắp bị điều tiết, các hiệu ứng này đã được giảm quy mô trong bản minh hoạ SteelArms. Rất khó để phát hiện những mức giảm nhỏ này trong quá trình xử lý hậu kỳ và hiệu ứng hình ảnh. Ngoài ra, người dùng thường sẽ không nhận thấy các tệp này khi chơi. Điều này có nghĩa là bạn có thể duy trì hầu hết trải nghiệm hình ảnh cho trò chơi mà không ảnh hưởng đến trải nghiệm chơi trò chơi. Bạn có thể làm tất cả những việc này trong khi vẫn duy trì hiệu suất năng lượng của trò chơi và thời lượng pin của thiết bị.

Như đã đề cập trước đó, để minh hoạ, chúng tôi sẽ so sánh hình ảnh có chế độ cài đặt chất lượng cao nhất với hình ảnh có chế độ cài đặt chất lượng thấp nhất. Đây là lý do bạn vẫn có thể thấy sự khác biệt khi xem xét kỹ lưỡng. Tuy nhiên, khi giảm tỷ lệ trong khi chơi, người dùng hầu như không nhận thấy điều này, trong khi vẫn duy trì trải nghiệm chơi ổn định.

Kết quả

Hình 5: So sánh FPS, Nhiệt độ thiết bị, Trạng thái nhiệt và Khoảng đầu vào khi bật/tắt ADPF, cải thiện tốc độ khung hình thêm ~57%

Thiết bị tránh tình trạng quá nhiệt và duy trì trong khoảng nhiệt 1.0.

Mức tiêu thụ điện năng

Hình 6: So sánh mức tiêu thụ điện năng khi bật/tắt ADPF

Kết quả ADPF

Bạn có thể xem kết quả khi ADPF đang bật và tắt trong các hình ảnh đã hiển thị trước đó. Cho thấy sự khác biệt về tốc độ khung hình của trò chơi và mức tiêu thụ điện năng của các lõi. Tốc độ khung hình có thể cải thiện lên đến 57% khi ADPF đang bật. Khi ADPF tắt, GPU sẽ tiêu thụ một lượng điện năng đáng kể. Sau đó, lõi CPU lớn sẽ có các mức tăng điện năng nhất quán với khối lượng công việc của GPU. Vì nó đang bắt kịp lượng xử lý mà nó được yêu cầu thực hiện. So sánh, khi ADPF bật, lõi CPU lớn sẽ phản hồi việc điều tiết và giảm mức tiêu thụ điện năng tổng thể của tất cả lõi trong thiết bị.

Kết luận

ADPF có thể cải thiện đáng kể mức tiêu thụ điện năng của trò chơi. Điều này cuối cùng sẽ giúp người chơi có thời gian chơi lâu hơn, thời lượng pin được cải thiện và nhiệt độ thấp hơn cho thiết bị đang sử dụng. Từ góc độ nhà phát triển, ADPF duy trì tốc độ khung hình chính xác của trò chơi. Đồng thời, cho phép họ linh hoạt giảm mức cài đặt chất lượng mà vẫn mang lại cho người dùng trải nghiệm chơi trò chơi tuyệt vời.

Các thiết bị mới và cũ đều có thể hưởng lợi từ việc sử dụng ADPF. Nhờ đó, các trò chơi có thể chạy theo tiêu chuẩn cao trên các thế hệ thiết bị trước mà không cần thêm công việc tối ưu hoá.