성능 문제 식별

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

일반적으로 성능 문제를 식별하는 방법은 다음 세 가지 범주 중 하나를 드릴다운하는 것입니다: 프레임 속도(계산), 메모리 또는 로드 시간.

Roblox에는 성능 문제를 식별하기 위한 몇 가지 도구가 있으며, 이 중 일부는 Roblox 클라이언트(및 Studio)에서 사용할 수 있으며, 다른 도구는 Studio에서만 사용할 수 있습니다. 직접 클라이언트 행동을 관찰할 수 있지만, 서버 문제를 진단하려면 도구를 사용해야 합니다.

진단 도구

도구설명위치키보드 단축키환경
개발자 콘솔메모리, 네트워크 및 스크립트 이행대한 실시간 로그 메시지, 오류 및 자세한 정보가 있는 콘솔. 이 콘솔은 메모리 사용, 키 서버 상태 및 스크립트 성능을 보기에 유용합니다. 또한 클라이언트 또는 서버 MicroProfiler를 시작하는 데 사용됩니다.StudioF9 ]라이브 세션, Studio 테스트
마이크로 프로필러작업 프레임마다 소비되는 컴퓨팅 시간을 확인하는 디버깅 도구입니다. 개별 프레임의 컴퓨팅 시간을 자세히 분석하여 성능 문제를 식별하는 데 도움이 됩니다. 클라이언트 또는 서버에서 디버거를 실행할 수 있습니다. 문제가 발생한 쪽에 따라 클라이언트 또는 서버에서 모두 실행경험 내 Ctrl Alt F6 ( ⌘ 1>⌥1> 3>F63> )라이브 세션, Studio 테스트
성능 통계 바메모리 사용, CPU, GPS, 네트워크 데이터 전송 및 수신, 대기 시간 등을 포함한 기본 성능 통계 도구 모음.경험 내Ctrl AltF7 ( 0>⌥0> 2>F72> )라이브 세션, Studio 테스트
디버그 통계그래픽, 물리, 네트워크 트래픽 및 FPS에 대한 자세한 정보를 가진 레이어.경험 내 Shift F1 , ShiftF2 , 1> Shift1> 3> F33> , 6> Shift6> 8> F48> , 1> Shift1> 3> F53>라이브 세션, Studio 테스트
성능 대시보드클라이언트 및 서버 메모리 사용, 클라이언트 프레임 평가, 서버 하트 비트 및 충돌 비율을 실시간으로 표시하는 대시보드입니다. 성능 패턴을 분석하는 데 유용합니다. 참조 성능 모니터링.크리에이터 대시보드N/A라이브 세션

서버 계산

모든 경험에서 서버 하트 비트는 60 FPS로 제한되므로 값이 낮을수록 성능 문제를 나타낼 수 있습니다. 서버 하트 비트를 확인하려면:

  • With the 개발자 콘솔 - In the 서버 작업 tab, expand the 하트 비트 row and check the 1>스텝 프로 세트1> value, which represents the heartbeat of your experience.

  • 서버 MicroProfiler - 각 프레임의 길이를 확인하여 일부가 16.67ms보다 길게 지속되는지 여부를 확인하십시오.

서버의 심박이 약화된 또 다른 증상은 지연(일반적으로 ping이라고 함)이 증가합니다. 서버가 각 프레임에서 작업을 완료하는 데 걸리는 시간(일반적으로 ping이라고 함)이 길어질수록 네트워크 데이터를 처리하는 데 걸리는 시간(일반적으로 ping이라고 함)이 증

클라이언트 컴퓨팅

기본 클라이언트 FPS한도는 60입니다. 그러나 사용자는 프레임 FPS한도를 240까지 늘릴 수 있습니다.

프레임 속도는 장치 간에 크게 다릅니다. 예를 들어, 고성능 PC는 계산 문제를 "브루트 포스"할 수 있지만 표시 안 되는 프레임 속도 하락을 경험할 수 있습니다. 낮은 엔드 장치에서 테스트하면 문제가 더 심각하고 쉽게 감지될 수 있습니다.

경험의 프레임 속도를 확인하려면:

  • 클라이언트에서 ShiftF5를 눌러 디버그 통계 요약을 표시합니다.

  • In the Studio 보기 tab, select 통계 > 요약 to enable debug stats.

  • With the MicroProfiler , you can check the graph to see if the frame takes longer than 16.67 ms.

메모리

경험에 대한 메모리 사용량을 확인하는 몇 가지 방법이 있습니다.

  1. 개발자 콘솔을 열고 메모리 탭으로 전환합니다. 이 탭은 메모리가 어떻게 할당되는지 설명합니다. 클라이언트 대신 Studio를 사용하여 가장 정확한 읽기를 가져오십시오.
  2. 클라이언트의 설정 메뉴에서 성능 통계 뷰를 활성화하여 클라이언트 메모리 사용량을 볼 수 있습니다.

높은 메모리 사용량은 반드시 문제를 나타내는 것은 아니지만, 더 자세히 조사해야 할 수도 있는 몇 가지 신호는 다음과 같습니다.

  • 클라이언트 성능 대시보드에 표시되는 크라쉬 중 상당한 비율이 클라이언트 크라쉬입니다. 특히 업데이트와 일치하는 갑자기 높은 픽업이 있습니다. 일부 크라쉬는 예상되지만, 크라쉬 비율이 2-3% 이상으로 증가하는 경우 조사해야 합니다.
  • 경험이 지원되는 장치에서 테스트 중 충돌이 발생합니다.
  • 서버 메모리 사용이 3GB를 초과합니다.

클라이언트의 경험 메모리 사용량의 상당한 부분은 이미지 및 메쉬와 같은 자산에서 로드된 그래픽 메모리에서 나옵니다. 개발자 콘솔에서 자산에 대한 그래픽 메모리 사용량을 확인하려면 다음 레이블에 따라 자산에 대한 그래픽 메모리 사용량을 볼 수 있습니다.

  • GraphicsMeshParts - 메쉬에 의해 사용된 그래픽 메모리.
  • GraphicsTexture - 텍스처에 의해 사용된 그래픽 메모리.

로드 시간

로드 타임을 확인하기 위한 내장 도구가 없지만, 밀리초 수준의 정확도가 필요하지 않기 때문에 종료 시계는 일반적으로 현재 기준선에 대해 이해하고 현재 변경 사항을 적용했는지 여부를 확인하는 데 사용됩니다. 클라이언트 스크립트를 사용하여


local startTime = os.clock()
game.Loaded:Connect(function()
local loadTime = os.clock() - startTime
local roundedLoadTime = math.round(loadTime * 10000) / 10000 -- 4자리 소수 자릿수
print("Game loaded in " .. roundedLoadTime .. " seconds.")
print("Number of instances loaded: " .. #game.Workspace:GetDescendants())
end)

자세한 내용은 Studio 설정 > 네트워크 > 프린트 조인 크기 분석 을 활성화하십시오. 이렇게 하면 스튜디오에서 경험을 시작할 때 상위 20개의 인스턴스를 크기별로 인쇄하고 인스턴스 유형별로 프로센트 별 인스턴스 내 크기 분석을 작성합니다.