Chủ đề này mô tả cách thực hiện phân tích hệ thống và phân tích khung hình trên ứng dụng Android bằng Android GPU Inspector (AGI).
Hướng dẫn nhanh này dành cho những nhà phát triển đã quen với việc phát triển đồ hoạ trên Android.
Yêu cầu về máy tính
Máy tính chạy AGI phải đáp ứng các yêu cầu sau:
Bạn phải có một trong các hệ điều hành sau:
Windows: Windows 7 trở lên.
macOS: El Capitan (10.11) trở lên.
Linux: Bạn phải có JDK hoặc JRE 8 (hoặc phiên bản mới hơn) 64 bit của Java; nên dùng Ubuntu Trusty Tahr (14.04 trở lên).
Tải và cài đặt AGI
Tải xuống và cài đặt AGI cho hệ điều hành của bạn.
Yêu cầu đối với ứng dụng Android
Phần này mô tả các yêu cầu đối với ứng dụng Android đang được lập hồ sơ:
Ứng dụng Android của bạn phải có thể gỡ lỗi; bạn phải đặt thuộc tính có thể gỡ lỗi trong tệp kê khai Android của ứng dụng thành
true. Thuộc tính này cho phép đo lường đúng cách từ trình điều khiển đồ hoạ. Đối với các ứng dụng Vulkan, thuộc tính này cho phép AGI thêm lớp Vulkan của riêng ứng dụng khi ứng dụng khởi động.<application [...] android:debuggable="true">
Nếu ứng dụng của bạn sử dụng Vulkan một cách tự nhiên, thì AGI cũng yêu cầu những điều sau:
Ứng dụng của bạn phải bật các lớp xác thực Vulkan. Nếu chưa bật, bạn có thể chạy các lệnh sau để buộc ứng dụng chạy với các lớp xác thực có trong apk AGI (
com.google.android.gapid.<abi>):app_package=<YOUR APP PACKAGE NAME HERE> abi=arm64v8a # Possible values: arm64v8a, armeabi-v7a, x86 adb shell settings put global enable_gpu_debug_layers 1 adb shell settings put global gpu_debug_app ${app_package} adb shell settings put global gpu_debug_layer_app com.google.android.gapid.${abi} adb shell settings put global gpu_debug_layers VK_LAYER_KHRONOS_validationKhi hoàn tất việc lập hồ sơ, bạn có thể vô hiệu hoá các lớp xác thực này bằng các lệnh sau:
adb shell settings delete global enable_gpu_debug_layers adb shell settings delete global gpu_debug_app adb shell settings delete global gpu_debug_layers adb shell settings delete global gpu_debug_layer_appỨng dụng của bạn không được báo cáo bất kỳ cảnh báo hoặc lỗi nào khi chạy với các lớp xác thực Vulkan đã bật. Khắc phục mọi lỗi xác thực Vulkan trước khi phân tích tài nguyên.
Nếu bạn đang sử dụng trình điều khiển GPU beta, hãy thêm siêu dữ liệu sau vào thẻ
<application>của tệp kê khai Android:<meta-data android:name="com.android.graphics.developerdriver.enable" android:value="true" />
Yêu cầu đối với thiết bị Android
AGI có các yêu cầu sau đây đối với thiết bị Android:
Cáp USB.
Bạn phải bật tính năng gỡ lỗi adb và thiết bị phải truy cập được thông qua adb. Nếu có lựa chọn Cài đặt qua USB, hãy bật lựa chọn này.
Xác thực thiết bị
AGI yêu cầu trình điều khiển GPU tương thích. Để đảm bảo cung cấp dữ liệu định hình hợp lệ, AGI sẽ chạy quy trình kiểm tra xác thực vào lần đầu tiên bạn kết nối một thiết bị mới. Quy trình này mất khoảng 10 giây. Sau khi vượt qua bước kiểm tra, bạn có thể dùng thiết bị để lập hồ sơ cho các ứng dụng Android.
Đừng làm phiền thiết bị trong khi quá trình xác thực đang diễn ra. Điều này có thể khiến thiết bị không xác thực được. Nếu một thiết bị không xác thực được nhưng được thiết lập đúng cách, bạn có thể thử xác thực lại bằng cách chọn lại thiết bị.
Xác thực là bước thực hiện một lần cho một thiết bị và kết quả được lưu vào bộ nhớ đệm để sử dụng AGI trong tương lai. Tuy nhiên, AGI sẽ chạy lại quy trình xác thực nếu chế độ thiết lập thiết bị thay đổi, chẳng hạn như nếu trình điều khiển GPU hoặc phiên bản Android được cập nhật.
Nếu một thiết bị được liệt kê là thiết bị được hỗ trợ, thì bạn có thể mong đợi AGI vượt qua quy trình xác thực. Nếu thiết bị không có trong danh sách, thì rất có thể trình điều khiển GPU của thiết bị đó không tương thích với AGI.
Nếu thiết bị của bạn được hỗ trợ nhưng không vượt qua được quy trình xác thực
Đảm bảo bạn đã đáp ứng tất cả yêu cầu đối với Android và yêu cầu đối với máy tính như mô tả trong các phần trước, đồng thời thiết bị được kết nối đúng cách với máy tính bằng cáp USB.
Nếu bạn đáp ứng tất cả các yêu cầu, hãy báo cáo vấn đề trong kho lưu trữ GitHub của chúng tôi để mô tả hành vi.
Nếu thiết bị của bạn không được hỗ trợ
Chúng tôi đang hợp tác với các đối tác OEM để hỗ trợ nhiều thiết bị hơn. Bạn có thể gửi vấn đề trong kho lưu trữ GitHub của chúng tôi để yêu cầu hỗ trợ cho một thiết bị.
Ghi lại dữ liệu lập hồ sơ
Các phần sau đây mô tả cách thu thập dữ liệu định hình và mở tệp theo dõi thu được để bạn có thể phân tích kết quả.
Định cấu hình chế độ cài đặt Android
Trước khi bắt đầu lập hồ sơ, bạn phải định cấu hình các chế độ cài đặt ứng dụng và thiết bị Android này. Các chế độ cài đặt này chỉ định ứng dụng và thiết bị cần lập hồ sơ.
Kết nối thiết bị Android với máy tính bằng cáp USB.
Chạy AGI trên máy tính.
Trong lần đầu tiên bạn chạy AGI, ứng dụng này sẽ hiển thị màn hình Chào mừng, màn hình này sẽ nhắc bạn nhập đường dẫn đến tệp thực thi adb. AGI lưu các chế độ cài đặt này trong tệp
.agictrong thư mụcHOME. Nếu đã thực hiện việc này, bạn có thể bỏ qua bước này.
Hình 1: Màn hình chào mừng. Nhập đường dẫn đến tệp thực thi adb trong trường Đường dẫn đến adb. Các hộp đánh dấu sau trường này là không bắt buộc.
Nhấp vào Bắt đầu để hiển thị màn hình khởi chạy.
Hình 2: Màn hình khởi chạy chính của Android GPU Inspector. Trong màn hình khởi chạy, hãy nhấp vào Capture a new trace (Chụp dấu vết mới). Thao tác này sẽ hiển thị hộp thoại Capture A New Trace (Ghi lại dấu vết mới). Ngoài ra, bạn có thể nhấp vào nút Capture System Profile trace (Ghi lại dấu vết Hồ sơ hệ thống).
Hình 3: Hộp thoại Capture A New Trace (Ghi lại dấu vết mới). Trong phần Thiết bị và loại, hãy chọn thiết bị Android mà bạn muốn lập hồ sơ. Nếu thiết bị không xuất hiện trong danh sách Thiết bị, hãy nhấp vào mũi tên tải lại để làm mới danh sách.
Trong phần Ứng dụng, hãy chọn ứng dụng mà bạn muốn lập hồ sơ. Nếu chỉ có một hoạt động trong gói, bạn có thể chọn gói thay vì hoạt động.
AGI có một ứng dụng Vulkan mẫu. Để sử dụng ứng dụng mẫu thay vì ứng dụng của riêng bạn, hãy thực hiện các bước sau:
Nhấp vào nút ... bên cạnh trường Ứng dụng.
Thao tác này sẽ cho thấy hộp thoại Chọn một ứng dụng để theo dõi. Hộp thoại này hiển thị danh sách các ứng dụng có thể theo dõi trên thiết bị đã chọn.
Trong hộp văn bản Filter (Bộ lọc), hãy nhập
gapidđể chỉ hiển thị những ứng dụng có chứagapidtrong tên gói.Mở rộng gói và chọn com.google.android.gapid.VkSampleActivity, sau đó nhấp vào OK.
Thao tác này sẽ đưa bạn trở lại hộp thoại Capture A New Trace (Chụp dấu vết mới), trong đó trường Application (Ứng dụng) được điền sẵn bằng ứng dụng mà bạn đã chọn.
Trong phần Ứng dụng, hãy để trống các trường khác.
Nhấp vào OK.
Giờ đây, bạn đã sẵn sàng sử dụng AGI để thực hiện việc phân tích hệ thống và khung hình.
Lập hồ sơ hệ thống
Để lập hồ sơ cho một hệ thống, hãy thực hiện các bước sau:
Trong màn hình khởi chạy AGI, hãy nhấp vào Capture a new trace (Chụp dấu vết mới) để hiển thị hộp thoại Capture System Profile (Chụp hồ sơ hệ thống).
Trong danh sách Loại, hãy chọn Hồ sơ hệ thống.
Trong phần Ngày bắt đầu và thời lượng, hãy đặt Bắt đầu lúc thành Thủ công và Thời lượng thành
2.Trong mục Trace Options (Tuỳ chọn theo dõi), hãy nhấp vào Configure (Định cấu hình). Thao tác này sẽ hiển thị danh sách các lựa chọn lập hồ sơ.
Hình 4: Các lựa chọn về việc lập hồ sơ trong hộp thoại Capture System Profile (Ghi lại hồ sơ hệ thống). Chọn dữ liệu đo hiệu suất mà bạn muốn ghi lại.
Trong phần GPU, hãy nhấp vào Chọn.
Thao tác này sẽ hiển thị danh sách các quầy giao dịch để bạn chọn.
Hình 5: Chọn bộ đếm. Nhấp vào default để chọn bộ đếm mặc định, rồi nhấp vào OK để trả về các lựa chọn lập hồ sơ.
Nhấp vào OK để quay lại hộp thoại Capture System Profile (Chụp hồ sơ hệ thống) chính.
Trong phần Output (Đầu ra), hãy chọn một Output Directory (Thư mục đầu ra) để lưu trữ các tệp dấu vết được tạo trong quá trình lập hồ sơ. Trường Tên tệp sẽ được điền sẵn, nhưng bạn cũng có thể chỉnh sửa trường này.
Nhấp vào OK. Thao tác này sẽ khởi động ứng dụng đã chọn trên thiết bị Android và hiển thị một cửa sổ bật lên có nút Start (Bắt đầu).
Nhấp vào nút Bắt đầu để bắt đầu thu thập dữ liệu lập hồ sơ và đợi vài giây để quá trình này hoàn tất.
Nhấp vào Open Trace (Mở dấu vết). Chế độ xem ban đầu được hiển thị tương tự như systrace.
Hình 6: Giao diện người dùng của Trình phân tích hệ thống. Ngoài dữ liệu có trong Systrace, AGI cũng cho thấy thông tin về hiệu suất của GPU. Để biết thêm thông tin về cách xem dữ liệu lập hồ sơ hệ thống, hãy xem bài viết Xem hồ sơ hệ thống AGI.
Để biết thông tin về các chế độ cài đặt khác, hãy xem các lựa chọn lập hồ sơ hệ thống.
Lập hồ sơ khung
Để phân tích tài nguyên cho một khung hình riêng lẻ trong ứng dụng, hãy thực hiện các bước sau:
Trong màn hình khởi chạy AGI, hãy nhấp vào Capture a new trace (Chụp dấu vết mới) để hiển thị hộp thoại Capture A New Trace (Chụp dấu vết mới). Ngoài ra, bạn có thể nhấp vào nút Capture Frame Profile trace (Ghi lại dấu vết Hồ sơ khung hình).
Trong danh sách Type (Loại), hãy chọn Vulkan hoặc OpenGL on ANGLE (OpenGL trên ANGLE) tuỳ thuộc vào API đồ hoạ mà ứng dụng của bạn sử dụng. Đảm bảo bạn chọn đúng, nếu không AGI sẽ không ghi lại bất kỳ lệnh đồ hoạ nào.
Trong phần Bắt đầu và thời lượng, hãy đặt Bắt đầu lúc thành Thủ công. Nếu bạn nhấp vào nút Capture Frame Profile trace (Ghi lại dấu vết Hồ sơ khung hình), thì bước này đã hoàn tất.
Trong phần Output (Đầu ra), hãy chọn một Output Directory (Thư mục đầu ra) để lưu trữ các tệp dấu vết. Trường File Name (Tên tệp) sẽ được điền sẵn, nhưng bạn cũng có thể chỉnh sửa trường này.
Không bắt buộc: Một số ứng dụng tạo ra một quy trình khác để xử lý tất cả đồ hoạ. Để ghi lại quy trình đó, hãy chỉ định tên của quy trình.
Nhấp vào OK. Thao tác này sẽ khởi động ứng dụng của bạn trên thiết bị Android và hiển thị một cửa sổ bật lên có nút Start (Bắt đầu).
Nhấp vào nút Start (Bắt đầu) và đợi vài giây để quá trình lập hồ sơ hoàn tất.
Nhấp vào Open Trace (Mở dấu vết) để xem dữ liệu lập hồ sơ. Để biết thông tin về từng ngăn trong giao diện người dùng Trình phân tích khung hình, hãy xem bài viết Tổng quan về việc phân tích khung hình.
Để biết thông tin về các chế độ cài đặt bổ sung, hãy xem các lựa chọn phân tích khung hình.