Công cụ MicroProfiler là một công cụ tối ưu hóa có sẵn trong Roblox Studio và client Roblox để cung cấp thông tin thời gian chi tiết cho các nhiệm vụ lịch trình nhiệm vụ được gọi là nhãn .
- Đối với một danh sách các tác vụ thông thường, xem tham khảo Tham khảo Tag.
- Để có một ví dụ bước nào bước nào về việc sử dụng MicroProfiler để xác định vấn đề hiệu suất, xem MicroProfiler Walkthrough .
Cơ bản của MicroProfiler
Để mở MicroProfiler, hãy nhấn CtrlAltF6 ( ⌘1> ⌥1> 3> F63> ) trong Studio hoặc trên máy chủ. Bạn cũng có thể sử dụng menu cài đặt trong máy chủ.
Khi mở, một thanh menu được hiển thị ở trên cùng của cửa sổ 3D. Trong chế độ mặc định, một biểu đồ thanh dịch chuyển hiển thị thời gian sử dụng cho mỗi khung trong lịch trình Nhiệm vụ.
Các thanh thường nằm ở giữa của biểu đồ, nhưng bạn có thể thấy những cú đột (tăng nhanh giá trị). Các cú đột cho thấy rằng nhiều thời gian đã được dành cho một số nhiệm vụ, thường là do tải công việc tăng lên. Ví ví dụ / trường hợp, tạo n
Để tạm dừng ghi lại khung, hãy nhấn CtrlP ( ⌘P ) hoặc nhấp vào 2> Tạm dừng2> trong thanh menu. Khi tạm dừng, một thời gian thực tế sẽ xuất hiện và bạn có thể navigate thông qua các khung b
Để có một tổng kết về các khía cạnh khác nhau và cách thức di chuyển giao diện MicroProfiler, xem Chế độ MicroProfiler .
Các luồng
Giống như nhiều chương trình khác, Roblox sử dụng nhiều luồng để thực hiện một loạt các hành động tại cùng một thời điểm. Ở chế độ MicroProfiler chi tiết, bạn có thể thấy nhãn cho mỗi luồng trên bên trái.
Có ba loại chính của chủ đề:
Chính/Render : Có lẽ không thực sự thông minh, chạy trên CPU. Xử lý nhập, Humanoids , hoạt họa/tweening, sở hữu thể chất, âm thanh và đợi kịch bản dự phòng. Cũng cập nhật giao diện Studio và điều khiển các luồng khác.
Người làm việc ("RBX Worker") giúp chủ đề chính với mạng, vật lý và tìm đường. Do số lượng các lõi trong các máy chủ hiện đại, bạn có thể có nhiều người làm việc.
Hiển thị ("GPU") Theo một "chuẩn bị, thực hiện, trình bày" logic. Truyền thông với đơn vị xử lý đồ họa (GPU) của thiết bị.
- Chuẩn bị: Thông tin từ chủ đề chính được sử dụng để cập nhật các mô hình render.
- Thực hiện: Thực hiện lệnh xử lý, bao gồm cả 2D interfaces.
- Hiện tại: Synchronize vớiGPU.
Tùy chỉnh hồ sơ
Nếu các hành động của bạn thực hiện các tác vụ phức tạp, bạn có thể xác định các phần quan trọng của mã để đảm bảo rằng chúng không mất quá nhiều thời gian. Wrap code in debug.profilebegin() và debug.profileend() để thời gian
HardWorkScript
debug.profilebegin("Hard Work")-- Đây là nơi mã để được profildebug.profileend()
Có một lượng bộ nhớ giới hạn sẵn sàng cho các nhãn MicroProfiler. Nếu bộ nhớ này bị hết, các nhãn profiler tùy chỉnh có thể không xuất hiện như một tên có ý nghĩa trong thời gian thực. Sử dụng ít nhãn để tránh vấn đề này. Nếu bạn không cần phải profiler một phần
Ví dụ
Mẫu mã dưới đây kết nối một chức năng giả dối với sự kiện RunService.PreSimulation , which runs mọi khung. Bất cứ điều gì đã làm như thế này thường xảy ra một cách hiệu quả nhất có thể, vì vậy đây là một lựa chọn tốt cho profiling.
local RunService = game:GetService("RunService")
local function onPreSimulation()
debug.profilebegin("Hard Work")
-- Công việc chăm chỉ: đổi hai biến 200.000 lần
local a, b = 0, 1
for _ = 1, 200000 do
a, b = b, a
end
debug.profileend()
end
RunService.PreSimulation:Connect(onPreSimulation)
Khi bạn chạy trải nghiệm và tạm dừng MicroProfiler ( CtrlP hoặc ⌘P), nhãn tùy chỉnh hiển thị dưới nhãn gameStepped.
Từ thời gian trên trục giờ, bạn có thể nói rằng hàm này đang sử dụng rất nhiều thời gian xử lý so với các hoạt động khác.
Lưu dữ liệu khung
Nếu bạn muốn lưu một bộ dữ liệu khung cho một cuộc đánh giá sau đó (hoặc để chia sẻ với một người khác), hãy sử dụng menu Dump . Engine lưu dữ liệu khung vào một tập tin có tên microprofile-<date>-<time>.html trong thư mục Roblox logs.
- Trên Windows, hãy kiểm tra %LOCALAPPDATA%\Roblox\logs .
- Trên macOS, hãy kiểm tra ~/Library/Logs/Roblox .
Các tập tin HTML này sử dụng cùng một giao diện người dùng dựa trên web như kết nối trực tiếp cho điện thoại di động và dumps máy chủ .
Hồ sơ trên các thiết bị di động
Để acces MicroProfiler từ client mobile, thiết bị di động của bạn phải kết nối với cùng một mạng cùng một mạng như máy chủ phát triển của bạn.
Kích hoạt MicroProfiler trong menu Cài đặt của thiết bị di động. Sau khi bạn kích hoạt nó, menu sẽ hiển thị một địa chỉ IP và một số cổng.
Ví dụ, trong hình ảnh trên, địa chỉ là 192.168.1.166 và cảng là 1338 . Từ một máy tính trên cùng mạng, hãy chuyển đến http://192.168.1.16
Tiến trình profiling
Ngoài client tiêu chuẩn MicroProfiler, bạn cũng có thể lấy một số dump ngắn của hoạt động máy chủ bằng cách sử dụng client MicroProfiler.
Trong một trải nghiệm mà bạn có quyền chỉnh sửa, hãy mở Bảng điều khiển của Nhà phát triển với CtrlAlt2> F92>.
Trong menu dropdown, chọn MicroProfiler .
Ở phần ServerProfiler , xác định số khung mỗi giây (tối đa 60) và số giây để xây dựng hồ sơ (tối đa 4).
Nhấp vào Bắt đầu ghi lại .
Sau vài giây, Developer Console cung cấp con đường đến tập tin, which is the same path as a dump tiêu chuẩn .
Sử dụng giao diện web
Nói phổ quát, giao diện web MicroProfiler hoạt động tương tự như chế độ chi tiết, nhưng nó có một vài tính năng bổ sung:
Ngoài việc lọc theo nhóm, bạn cũng có thể lọc theo chủ đề.
Sử dụng CtrlF / ⌘F để nhảy đến sự xảy ra của một nhiệm vụ mất nhiều thời gian nhất trong thùng rác. Ví dụ, 2> computeLightingPerform2> chạy tr
Sử dụng menu X-Ray để bật hoặc tắt mã hóa màu cho việc phân bổ bộ nhớ.
- Các khung nhẹ hơn trong thanh trình duyệt chính cho thấy tốn nhiều bộ nhớ hơn.
- Các phần dưới của thanh xem trước và nhãn dưới dòng thời gian cho thấy các khu vực trên khung với tốn nhiều bộ nhớ hơn.
- Trong chế độ X-ray, nhấn C để hiển thị kích thước tổng thể của các khu vực bộ nhớ thay vì số lượng khu vực.
Sử dụng menu Xuất để xuất một hồ sơ lửa CPU hoặc lửa tập trung, một hình ảnh hóa học đặc biệt mà tổng hợp tất cả các lớp gọi được bao gồm trong bỏ qua. Hồ sơ lửa là hữu ích đặc biệt cho việc xác định các nhiệm vụ không m
Kéo và thả một tập tin rơi thứ hai vào UI web để tạo ra một biểu đồ ngọn lửa phân tích, which can help you identify improvements or regressions to your experience's performance over time. Click Combine & Compare to export a new HTML file.
Biểu tượng ngọn lửa chia làm hai phần có màu tương phản nhau cho phép bạn dễ dàng phân biệt hơn về kích thước của hai đối tượng.