Hướng dẫn MicroProfiler

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Hướng dẫn này cho bạn thấy cách sử dụng MicroProfiler để tìm một mặt trần bị vấn đề trong một trải nghiệm và xác định nguyên nhân gốc. Tải trải nghiệm, Mở từ File trong Studio, và theo dõi.


Xác định vấn đề

  1. Sau khi bạn mở trải nghiệm ở Studio, bắt đầu kiểm tra nó bằng cách sử dụng F5 hoặc nút Chơi .

  2. Tỷ lệ khung cảm thấy ổn, nhưng không mịn màng như nó nên cho một trải nghiệm cỡ này và quy mô. Navigate to the Xem tab and click Tổng kết under Thống kê.

    Debug stats summary showing 45 FPS.

    Lưu ý rằng tỷ lệ khung dưới 60 khung mỗi giây (FPS).

  3. Mở MicroProfiler bằng cách nhấn CtrlAltF6 ( 1> ⌥1> 3> F63> ).

    The MicroProfiler after opening it.

    Ghi chú rằng thời gian khung là tương tự — các thanh dài khoảng cùng một chiều cao — vì vậy bất kỳ điều gây ra tỷ lệ thấp khung sẽ chạy mỗi khung một khung, chứ không phải chạy mỗi khung một lần và gây ra những đợt trễ khung.

  4. Tạm dừng MicroProfiler bằng cách nhấn CtrlP ( P ). Tạm dừng với các phím bàn phím trượt tuyết để mở 2> chế độ chi tiết2> .

  5. Nhấp và kéo để xoay trục. Ghi nhớ cách một công việc cụ thể trong các luồng người dùng dường như đang sử dụng rất nhiều thời gian xử lý so với luồng chính. Hover over RunService.Stepped and note how long it's taking to render.

    Detailed mode with long labels for processes.
  6. Các thanh trượt trong thời gian thực cho thấy một chuỗi các mã, vì vậy giữ hover trên các thanh dưới và dưới để cố gắng xác định vấn đề.

    On-hover details for various processes, with LocalScript highlighted. On-hover details for various processes, with Raycast highlighted.

    Ghi nhớ nhãn LocalScript, đây là một nhãn cho biết tên của script, và nhãn Raycast, đây là một nhãn cho biết rằng vấn đề có thể liên quan đến việc dùng raycast.

Tạo nhãn Troubleshoot

Bây giờ MicroProfiler đã cung cấp một điểm xuất phát, bạn có thể xử lý mã bị lỗi.

  1. Dừng lại test chơi và lọc cửa sổ Explorer để tìm localscript để tìm tập tin.

    A view of filtering in the Explorer window.

    Một cuộc tìm kiếm cho raycast指示代码的此部分 có lẽ là nguyên nhân gây ra hiệu lựcsuất thấp của trải nghiệm:


    local RAYS_PER_SECOND = 1500
    local function onStepped()
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    end
    RunService.Stepped:Connect(onStepped)

    Cụ thể, bạn có thể thấy rằng mã đang phát ra 1.500 tia mỗi giây theo hướng ngẫu nhiên.

  2. Để xác minh rằng phần mã này gây ra sự trễ xử xử lý, bọc nội dung của hàm với debug.profilebegin()debug.profileend() :


    local function onStepped()
    debug.profilebegin("Raycast Spam")
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    debug.profileend()
    end

Xác nhận và Sửa chữa vấn đề

  1. Bắt đầu kiểm tra trải nghiệm và mở lại MicroProfiler.

  2. Lưu ý là MicroProfiler bây giờ hiển thị nhãn tùy chỉnh, cho thấy rằng chức năng này thực sự là nguyên nhân gây ra.

    MicroProfiler detailed view with 'Raycast Spam' visible.
  3. Dừng lại bài kiểm tra chơi.

  4. Xóa hoặc bình luận các hàm onStepped() và kết nối RunService.Stepped:Connect(onStepped) .

  5. Bắt đầu kiểm tra trải nghiệm một lần nữa và kiểm tra tổng kết chỉ số debug.

    Debug stats summary showing 60 FPS.

    Ghi nhớ sự cải thiện lớn về tỷ lệ khung hình và thời gian thả tương ứng trên bảng MicroProfiler.