섬의 테크니컬 퍼포먼스를 이해하는 것은 플레이어에게 일관되고 안정적인 경험을 제공하기 위한 핵심입니다. 테크니컬 보고서 탭을 이용하려면 크리에이터 포털에 로그인해 프로젝트를 선택합니다. 프로젝트의 모든 테크니컬 보고서는 왼쪽 네비게이션 바의 테크니컬(Technical) 탭에 있습니다.
테크니컬 화면에서 Verse 코드와 전반적인 섬 퍼포먼스보고서에 액세스할 수 있습니다. 이러한 보고서를 통해 플레이어에게 품질 관리 문제를 일으킬 수 있는 미처 인지하지 못한 섬 문제를 파악 가능합니다.
Verse 오류 대시보드
Verse Errors 대시보드는 Verse 런타임 오류 보고 기능을 사용하여 섬을 퍼블리싱하기 전에 섬의 퍼포먼스를 보다 잘 이해할 수 있습니다. Verse 런타임 오류 신고는 Verse 스크립트의 런타임 오류에 대한 상세한 보고서를 제공합니다.
런타임 오류 보고서
런타임 오류 보고서는 Verse 코드를 실행하여 복구 불가능한 상태(예: 무한 루프 또는 지나치게 많은 메모리 할당)가 된 결과를 기준으로 분류됩니다. 코드가 복구 불가능한 상태가 된 경우를 런타임 오류라고 합니다.
런타임 오류가 발생하면 결함이 있는 코드 실행이 콜스택에서 캡처되며, 이는 동일한 성질의 런타임 오류 발생을 그룹화하는 데 사용됩니다.
런타임 오류는 다음과 같은 정보를 캡처합니다.
컴파일러에서 포착되지 않은 코딩 오류
섬에 충돌을 유발하는 문제
Verse 컴파일러는 현재 런타임 시 정수 오버플로 또는 무한 재귀 같은 오류를 생성하는 Verse 코드의 조건을 탐지하기 어렵습니다. 문제가 있는 코드는 언뜻 보기에 올바르게 컴파일할 수 있을 것처럼 보이지만, 컴파일러의 시맨틱 분석만으로는 포착할 수 없는 문제도 있습니다.
런타임 시 코드를 실행할 경우 런타임 오류가 트리거될 수 있습니다. 런타임 오류가 발생하면 현재 장치의 모든 추가 Verse 실행이 중단됩니다. (이러한 비헤이비어는 추후 변경될 수 있습니다.) 다른 장치는 계속 실행될 수도 있으나, 이 상태에서 코드를 실행 상태로 놔두는 건 좋지 않습니다. 그 대신, 런타임 오류를 트리거하는 문제를 파악하고 해결하는 것이 좋습니다.
런타임 오류를 수정하는 자세한 방법은 디버그 드로를 사용한 게임 디버깅 문서를 참고하세요.
진단 및 상세 정보 보고
보고서에서는 오류의 세부 정보를 꼼꼼하게 제공하므로 게임플레이 코드의 어떤 점이 잘못되었는지 이해할 수 있습니다. 예시:
오류 진단 - 런타임 오류의 유형을 파악하기 위한 지정된 코드입니다.
오류 설명 - 진단의 내용을 상세하게 설명합니다.
발생 횟수 - 이벤트가 보고된 총 횟수입니다.
이 보고서는 코드의 문제를 확인하고 수정하는 데 도움이 되는 도구입니다. 여기에서 런타임 오류 보고서를 검색하고 환경 보기를 필터링하여 다음을 표시할 수 있습니다.
보고서 예시는 다음과 같습니다.
가장 최신 인스턴스 및 런타임 오류의 최초 인스턴스를 나타내는 타임스탬프.
링크 코드의 드롭다운 목록이 포함된 플레이테스트 및 비공개 코드 보기
퍼블리싱 전에 런타임 오류를 포착하면 코드를 수정할 기회가 있으므로, 플레이어가 섬에서 최상의 경험을 누릴 수 있습니다.
퍼포먼스 데이터 대시보드
퍼포먼스 데이터 대시보드는 플랫폼 간 섬 경험의 성과에 대한 인사이트를 제공합니다. 이러한 인사이트는 다음에 활용할 수 있습니다.
퍼블리싱 며칠 내로 섬 경험을 모니터링합니다.
자체 QA를 실시하여 문제 원인을 파악합니다.
여러 플랫폼에서 생기는 문제를 파악하고 해결합니다.
퍼포먼스 보고서에는 플랫폼 간 섬 퍼포먼스와, 섬에서 발생할 수 있는 문제 유형에 대한 자세한 정보가 포함되어 있습니다. 퍼포먼스 데이터 대시보드를 열려면 테크니컬 화면 옵션에서 퍼포먼스 데이터(Performance data)를 선택합니다. 이 대시보드에는 모든 퍼포먼스 인사이트가 표시됩니다.
퍼포먼스 툴
포트나이트는 백엔드 도구를 활용하여 섬에서 아래와 같은 성능 문제를 모니터링합니다.
초당 프레임 수(FPS): 놓친 프레임 비율로 표시됩니다.
분당 멈춤 현상: 실제 멈춤 현상 발생률 또는 분당 멈춤 현상 수로 표시됩니다.
모든 섬마다 수용 가능한 수준의 문제 발생률은 다르며, 약간의 놓친 프레임이나 멈춤 현상은 예상할 수 있는 일입니다. 섬에 있는 요소의 밀도 복잡도에 따라 수치를 낮추거나 높이는 여러 요인이 있습니다.
초당 프레임 수
초당 프레임 수(FPS)는 스트리밍 콘텐츠에서 초당 표시하는 프레임 수입니다. 비디오 스트리밍이나 TV 방송은 보통 24FPS의 프레임 레이트를 사용하지만 게임 스트리밍은 대개 더 높은 FPS 속도를 사용합니다. 비디오 게임은 화면에 표시되는 요소가 많아질수록 이를 렌더링하기 위한 백그라운드 작업이 늘어나고, 그 결과 프레임 레이트가 낮아질 수 있습니다.
현재 특정 프레임 레이트를 달성해야 한다는 퍼블리싱 요구 사항은 없지만, 플랫폼에 따라 30~60프레임이 이상적입니다. FPS가 높을수록 놓친 프레임이 게임 퍼포먼스에 미치는 영향도 줄어듭니다. FPS가 낮을수록 놓친 프레임에 퍼포먼스가 더 많은 영향을 받습니다.
Hitches
멈춤 현상(FPS 저하 또는 저하된 프레임이라고도 함)은 대부분 에셋 로드로 인해 발생하며, 높은 멈춤 현상 발생률은 파티클 이펙트, 메시 복잡성, 텍스처 크기, 시야 내 오브젝트 수, 고유 에셋 및 텍스처 수 감소 등을 비롯한 다양한 요인에 의해서도 줄어들 수 있습니다.
튐 현상은 발생 위치와 시점에 따라 플레이어 경험을 크게 방해할 수 있습니다. 섬에 스트리밍이 활성화되어 있고 플레이어가 빠르게 돌아다니고 있다면, 이 또한 튐 현상이 더 많이 발생하는 요인일 수 있습니다.
일반적으로 이 수치는 낮게 유지하는 것이 좋습니다. 좋은 퍼포먼스 결과는 대개 2.5~3 미만이기 때문입니다.
퍼포먼스 모범 사례
다음은 퍼포먼스 데이터 대시보드 정보를 최대로 활용하기 위한 권장 가이드라인입니다.
섬의 모든 퍼포먼스 카테고리를 확인하여 섬 퍼포먼스를 총체적으로 살펴봅니다.
섬 성능 정보와 플레이어 피드백에 따라 섬을 수정합니다. 게임에 대해 좋지 않은 결과가 나왔지만 플레이어 피드백이 없다면 여러 플랫폼에서 섬을 직접 플레이테스트하여 플레이어의 경험을 직접 확인합니다.
의사 결정 시 플레이어 피드백을 활용할 예정이라면 소셜 채널과 커뮤니티 게시물을 통해 후원자들과 포크리 커뮤니티에 알립니다.
섬에 대한 건설적인 퍼포먼스 관련 피드백은 항상 진지하게 받아들입니다.
섬 퍼포먼스 지표만을 바탕으로 설정을 수정하는 경우, 몇 개의 플랫폼에서 섬을 테스트한 다음에 수정 사항을 공지합니다.
퍼포먼스 데이터 차트
퍼포먼스 차트는 상세한 퍼포먼스 데이터를 통해 섬의 문제를 시각적으로 보여주며 섬에 대한 인사이트를 제공합니다. 특정 기간 동안의 퍼포먼스 데이터가 선 그래프로 나타납니다. 선택한 기간의 퍼포먼스 데이터를 보려면 보기 메뉴를 사용합니다. 기본값은 현재 날짜입니다.
게임 성능은 다음과 같이 확인합니다.
화살표 아이콘을 클릭하고 데이터를 보려는 게임을 선택합니다.
클라이언트(Client) 메뉴를 클릭하고 퍼포먼스 정보를 보려는 플랫폼을 선택합니다.
문제(Issue) 메뉴를 클릭하여 문제 유형을 전환합니다.
보기 메뉴에서 시간별 또는 일일 데이터를 선택합니다. 달력(Calendar) 드롭다운 메뉴에서 원하는 달을 선택할 수도 있습니다.
클라이언트 메뉴
클라이언트 메뉴에서는 다양한 플랫폼을 선택할 수 있습니다.
전체
데스크톱
모바일
콘솔
차세대 콘솔
클라이언트 메뉴에서 선택한 플랫폼에 따라 그래프의 정보가 변경됩니다. 전체를 선택하면 모든 플랫폼의 섬 퍼포먼스 데이터를 표시합니다.
문제 메뉴
문제 메뉴에는 섬에서 발생할 가능성이 있는 여러 문제가 표시됩니다. 차트에는 섬의 평균 프레임 레이트, 멈춤 현상, 세션 강제 종료를 측정해 확보한 정보가 표시됩니다.
서로 다른 플랫폼에서 동일한 방식으로 특정 성능 문제가 생기는 경우도 있습니다. 하나의 플랫폼에서 성능 문제를 해결하면 모든 플랫폼에서 동일한 문제가 해결됩니다. 하지만 포트나이트 모바일에서 프레임 속도 문제를 해결하면 다른 플랫폼의 섬 성능에 영향을 주는 경우도 있습니다.
보고서 다운로드
보고서를 다운로드하려면 그래프 우측 상단에서 다운로드(Download) 아이콘을 클릭합니다.
메모리 관리 및 최적화에 대한 자세한 내용은 다음 언리얼 페스트 세션을 확인해 보세요.