MicroProfiler 사용법

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

이 사용법은 MicroProfiler를 사용하여 게임의 문제점을 찾고 근본 원인을 식별하는 방법을 보여줍니다. 게임을 다운로드하고, 스튜디오에서 파일 열기를 선택한 다음 따라 해보세요.


문제 식별

  1. 스튜디오에서 게임을 연 후, F5 또는 재생 버튼으로 테스트를 시작하세요.

  2. 프레임 속도가 괜찮은 듯 하지만 이 크기와 범위의 게임에 비해 부드럽지 않습니다. CtrlShiftF5 (ShiftF5)를 눌러 성능 요약 오버레이를 표시합니다.

    성능 요약에서 45 FPS 표시.

    프레임 속도가 초당 60프레임(FPS) 이하라는 점에 유의하세요.

  3. CtrlAltF6 (F6)를 눌러 MicroProfiler를 엽니다.

    MicroProfiler 열기 이후의 모습.

    프레임 시간이 일관적임을 확인하세요 - 막대의 높이가 대체로 비슷하므로 프레임 속도가 낮은 원인은 매 프레임마다 실행되고 있다는 점입니다. 가끔씩 실행되어 프레임 시간 스파이크를 유발하는 것이 아닙니다.

  4. CtrlP (P)를 눌러 MicroProfiler를 일시 정지합니다. 키보드 단축키로 일시 정지하면 상세 모드가 열립니다.

  5. 그래프를 팬하려면 클릭하고 드래그하세요. 워커 쓰레드에서 특정 작업이 기본 쓰레드에 비해 처리 시간을 많이 사용하는 것처럼 보인다는 점에 유의하세요. RunService.Stepped 위로 마우스를 올려 얼마나 오랜 시간이 걸리는지 확인하세요.

    프로세스에 대한 긴 레이블이 있는 상세 모드.
  6. 타임라인의 쌓인 막대는 코드의 계층 구조를 나타내므로 낮은 층에서 계속 마우스를 올려 문제를 식별해 보세요.

    여러 프로세스에 대한 마우스 오버 세부정보, LocalScript가 강조 표시됨. 여러 프로세스에 대한 마우스 오버 세부정보, Raycast가 강조 표시됨.

    LocalScript 레이블은 스크립트의 이름을 나타내고, Raycast 레이블은 문제가 레이캐스팅과 관련이 있을 수 있음을 나타냅니다.

문제 해결 레이블 생성

MicroProfiler가 시작점을 제공했으므로 문제 코드에 대한 문제를 해결할 수 있습니다.

  1. 플레이 테스트를 중단하고 탐색기 창에서 localscript로 필터링하여 파일을 찾으세요.

    탐색기 창에서 필터링하는 모습.

    raycast에 대한 검색은 이 코드 부분이 게임의 성능 저하의 범인일 가능성이 높다는 것을 나타냅니다:


    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)

    특히, 이 코드는 초당 1,500개의 레이(광선)를 랜덤 방향으로 발사하고 있음을 확인할 수 있습니다.

  2. 이 코드 부분이 렌더링 지연을 초래하고 있는지 확인하기 위해 함수의 내용을 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

문제 확인 및 수정

  1. 게임 테스트를 시작하고 MicroProfiler를 다시 엽니다.

  2. MicroProfiler가 이제 사용자 지정 레이블을 표시하여 이 함수가 실제로 근본 원인임을 나타내는 것을 확인하세요.

    MicroProfiler 상세 보기에서 'Raycast Spam'이 보임.
  3. 플레이 테스트를 중단합니다.

  4. onStepped() 함수와 RunService.Stepped:Connect(onStepped) 연결을 삭제하거나 주석 처리합니다.

  5. 게임 테스트를 다시 시작하고 성능 요약을 다시 확인합니다.

    성능 요약에서 60 FPS 표시.

    프레임 속도와 MicroProfiler 그래프에서 프레임 시간의 큰 향상 결과를 확인하세요.

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.