> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/manual/studio-manual/game-development/world-performance-optimization.md).

# 월드 성능 최적화

## 퍼포먼스 가이드

### 개요

퍼포먼스 가이드 기능을 통해 FPS, Draw Call, 메모리 사용량 등 게임 성능과 관련된 주요 지표를 **스튜디오 내에서 실시간으로 확인**할 수 있습니다.

이를 통해 크리에이터는 게임 내 프레임 드랍, 렌더링 지연 등 성능 저하 요소를 사전에 파악하고 최적화 작업을 효과적으로 수행할 수 있고, 궁극적으로 전반적인 안정성을 확보하여 사용자에게 보다 부드럽고 쾌적한 게임 플레이 경험을 제공할 수 있습니다.

### 사용 방법

퍼포먼스 가이드는 OVERDARE Studio 최상단 탭 영역에서 **Play탭**을 선택하면 출력되는 **Stat 버튼**을 클릭해서 표시할 수 있습니다.

<figure><img src="/files/DhZ4WvU9GHFS7XY47JKr" alt=""><figcaption></figcaption></figure>

퍼포먼스 가이드는 스튜디오의 뷰포트 화면에 출력되며, 테스트 플레이 실행 중 각 성능 지표의 변화를 실시간으로 확인할 수 있습니다. 이를 통해 플레이어의 위치 이동, 오브젝트 생성, 이펙트 발동 등 다양한 게임 상황에서의 성능 변화를 직관적으로 파악하고, 상황별 최적화 작업에 활용할 수 있습니다.

<figure><img src="/files/QHrnWo8veMMnbq1pbtGT" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th>항목</th><th width="311.4560546875">설명</th><th>권장 수치</th></tr></thead><tbody><tr><td>FPS (Frames Per Second)</td><td>초당 화면에 그려지는 프레임 수.<br>높을수록 부드러운 화면을 제공함.</td><td>30 이상</td></tr><tr><td>CPU Usage</td><td>CPU의 사용 비율.<br>높을 경우 다른 프로세스에 영향을 줄 수 있음.</td><td>70% 이하</td></tr><tr><td>GPU Usage</td><td>GPU의 사용 비율.<br>렌더링 및 그래픽 처리에 영향을 줌.</td><td>85% 이하</td></tr><tr><td>Memory Usage</td><td>전체 메모리 사용량.<br>메모리 초과 시 게임 충돌 또는 성능 저하 유발 가능.</td><td>3GB 이하</td></tr><tr><td>Texture Memory</td><td>텍스처 데이터에 사용되는 메모리 용량.<br>너무 많을 경우 GPU 과부하 발생 가능.</td><td>150MB 이하</td></tr><tr><td>Texture Count</td><td>사용 중인 텍스처 개수.<br>텍스처가 많을수록 메모리 및 렌더링 부담 증가.</td><td>200개 이하</td></tr><tr><td>Mesh Tri Count</td><td>화면에 그려지는 메시의 삼각형 수.<br>너무 많을 경우 렌더링 속도 저하.</td><td>30만개 이하</td></tr><tr><td>Draw Calls</td><td>렌더링을 위해 CPU에서 GPU로 보내는 명령 수.<br>수치가 높을수록 성능 저하 위험.</td><td>200 이하</td></tr><tr><td>Network</td><td>네트워크 트래픽 및 지연 시간.<br>통신 응답성에 큰 영향을 줌.</td><td>20KB/s 미만, 80ms 미만</td></tr></tbody></table>

### 주의 사항

* 스튜디오 자체에서 사용하는 리소스가 측정에 포함되어, 실제 모바일 기기에서의 성능과 차이가 발생할 수 있습니다.\
  (특히 메모리 사용량이나 렌더링 성능 지표는 모바일 환경보다 높게 나타날 수 있습니다.)
* 멀티 테스트 플레이 기능을 사용할 경우, CPU, 메모리, 네트워크 사용량 등 성능 지표가 단일 플레이 대비 높게 측정될 수 있습니다.\
  (이는 실제 다인 플레이 환경을 시뮬레이션하는 데 유용하지만, 단일 클라이언트 성능과는 구분해서 해석해야 합니다.)
* 뷰포트 해상도 설정에 따라 GPU 사용량 및 FPS 수치에 영향을 줄 수 있습니다.
* 스튜디오가 실행되는 PC의 다른 백그라운드 프로그램에 의해서도 성능 수치가 달라질 수 있으므로 테스트 환경을 가능한 한 통제된 상태로 유지하는 것이 좋습니다.

### 활용 예시

* FPS를 안정적으로 유지할 수 있도록 점검하고, 특정 구간에서 프레임 드랍이 발생할 경우 해당 위치의 연산, 이펙트, 스크립트 등을 점검해 최적화합니다.
* CPU와 GPU 사용량이 일정 수준으로 유지되도록 체크하고, 특정 상황에서 급등하는 경우 해당 시점의 연산량, 병목 지점을 파악하여 처리 로직을 개선합니다.
* 장시간 테스트 플레이 중 메모리 사용량이 지속적으로 증가하는지 확인하여, 메모리 누수나 불필요한 오브젝트의 지속적인 유지 여부를 점검하고, 정리 루틴(예: Destroy(), 참조 변수 nil 할당)을 삽입해 안정화합니다.
* 텍스처 사용량이 과도할 경우 GPU 과부하나 로딩 지연을 유발할 수 있으므로, 고해상도 텍스처를 필요한 범위 내에서만 사용하고, 에셋의 해상도 조정을 통해 최적화합니다.
* 캐릭터 또는 환경의 메시 트라이 수가 많을 경우 GPU 렌더링 부담이 커지므로, 필요 이상으로 복잡한 메시를 단순화하여 퍼포먼스를 확보합니다.
* 드로우콜이 지나치게 많으면 CPU→GPU 간 호출 비용이 증가하므로, 오브젝트 배치를 합치거나, 머터리얼과 셰이더를 통일하는 방식으로 드로우콜을 최소화할 수 있습니다.
* 네트워크 트래픽이 짧은 시간 내 급증하면 서버 처리 지연이나 지연시간 상승의 원인이 될 수 있으므로, 과도한 패킷 전송을 유발하는 이벤트(예: 반복 업데이트, 고빈도 위치 전송 등)를 제어하고, 필요 시 전송 주기를 조정하여 트래픽을 최적화합니다.

## 월드 성능 분석

### 개요

OVERDARE App에 퍼블리시된 월드를 대상으로, **모바일 환경**에서의 실행 성능을 분석할 수 있습니다. FPS 안정성, 드로우 콜 수, 렌더링 시간, 메모리 사용량 등의 주요 성능 지표를 기반으로 월드 실행 중 발생하는 병목 현상을 진단하고, 이를 바탕으로 **저사양 기기에서도 원활하게 실행**될 수 있도록 최적화 작업에 활용할 수 있습니다.

본 기능은 현재 **실험적 기능(Experimental)** 으로 제공되며, 향후 크리에이터들이 보다 정밀한 성능 개선 방향을 설정할 수 있도록 지속적으로 고도화될 예정입니다.

### 사용 방법

OVERDARE App에서 월드에 입장한 다음, 화면 좌상단의 **채팅창 활성화 버튼**을 누른 다음, **채팅 입력창 영역(Tap here to chat)**&#xC744; 터치합니다.

<figure><img src="/files/nW3YA2EuJ8Cxg4Dxkg1R" alt=""><figcaption></figcaption></figure>

**profile on**을 입력한 다음, 채팅을 전송합니다.

<figure><img src="/files/6SodgGgXhUwsiEtS0uuc" alt=""><figcaption></figcaption></figure>

이제 화면 좌상단에 월드 성능 정보가 표시됩니다.

<figure><img src="/files/4TY6hlth1qX6yaUigWdK" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="234">항목</th><th>설명</th></tr></thead><tbody><tr><td>FPS (Frames Per Second)</td><td>초당 화면에 그려지는 프레임 수.<br>높을수록 부드러운 화면을 제공함.</td></tr><tr><td>Frame</td><td>프레임 하나를 처리하는 데 걸리는 시간 (33.33ms = 약 30FPS)</td></tr><tr><td>Game</td><td>게임 로직 처리에 소요된 시간</td></tr><tr><td>Draw</td><td>드로우 콜 수행에 걸리는 시간 (GPU 렌더링 요청)</td></tr><tr><td>RH</td><td>RHI(Render Hardware Interface) 작업에 소요된 시간</td></tr><tr><td>Draw Calls</td><td>렌더링을 위해 CPU에서 GPU로 보내는 명령 수.<br>수치가 높을수록 성능 저하 위험.</td></tr><tr><td>Primitives</td><td>렌더링된 기본 도형(삼각형 등)의 수</td></tr><tr><td>Device Temp</td><td>현재 기기의 온도 (AOS 디바이스용)</td></tr><tr><td>Temp Status</td><td>현재 기기의 온도 (iOS 디바이스용)</td></tr><tr><td>[OS API] Memory</td><td>지원 예정</td></tr><tr><td>[UE] Memory</td><td>전체 메모리 사용량</td></tr></tbody></table>

### 활용 예시

OVERDARE App의 월드 성능 분석 기능과 **퍼포먼스 가이드**를 함께 활용하면, Studio 환경에서 보다 체계적인 최적화 작업이 가능합니다.

월드 실행 중 수집된 FPS, 드로우 콜, RHI 처리 시간 등 다양한 성능 데이터를 바탕으로 성능 저하 구간을 식별하고, 퍼포먼스 가이드의 권장 수치를 참고하여 모델 구조, 라이트 사용, 스크립트 구조 등 전반적인 콘텐츠 구성을 개선할 수 있습니다.

## 모바일 저사양 최적화 가이드

모바일 저사양 최적화는 **다양한 성능의 기기에서도 게임이 원활하게 동작하도록 보장**하기 위해 필수적입니다. 이를 통해 사용자 이탈을 줄이고, **더 넓은 유저층**을 확보하며, 전반적인 플레이 경험의 안정성과 일관성을 유지할 수 있습니다.

아래의 가이드를 준수하면 OVERDARE 전체 유저의 99.9%에게 **동등하고 쾌적한 플레이 경험**을 안정적으로 제공할 수 있습니다.

### 저사양 기기 정의

OVERDARE에서 저사양 기기는 PowerVR Rogue GE8320과 같은 저사양 GPU를 사용하는 **Galaxy A04e(SM-A042F/DS)** 기종을 저사양 기기로 정의합니다.

GE8320 같은 저사양 GPU 기기를 보유하고 있다면 **해당 기기에서의 테스트를 권장**합니다. 저사양 환경에서의 안정적인 실행 여부를 확인하는 데 도움이 됩니다.

### 저사양 기기 최적화 가이드라인

월드에 미리 배치된 **정적(static) 배경 요소**는 리소스 예산(Resource Budget)을 아래와 같이 설정하는 것을 권장합니다:

* 화면에 보이는 Vertex 최대 갯수 : 70,000 이하
  * 저사양 기기에서는 Tri나 Primitive보다 **Vertex 수 관리가 더 중요**하므로, Vertex를 우선적으로 최적화하세요.
  * 가능하다면 **하나의 메시가 700개 이하의 Vertex로 구성**되도록 제작하는 것이 이상적입니다.
* 화면에 보이는 최대 드로우콜 : 70 이하
* 텍스쳐 : 512x512 기준 100개 이하

ParticleEmitter와 같은 **이펙트(VFX)**&#xB294; 다음의 기준을 참고하세요:\\

* 화면에 보이는 Vertex 최대 갯수 : 15,000 이하
* 화면에 보이는 최대 드로우콜 : 30 이하
