최소·권장 사양과 성능 예산¶
현재 사양은 MVP 개발 중인 임시 목표입니다. Godot 엔진의 실행 가능 하한과 SFH가 1280×720에서 다수 적을 처리할 게임 플레이 하한은 다릅니다. 아래 SFH 사양은 실제 저사양 PC 실기 검증 전까지 인증 사양으로 사용하지 않습니다.
임시 목표 사양¶
| 구분 | 최소 목표 | 권장 목표 |
|---|---|---|
| 운영체제 | Windows 10 64-bit | Windows 11 64-bit |
| CPU | x86_64 SSE4.2, 4스레드급 CPU | 물리 4코어, Intel Core i5-6600K / AMD Ryzen 5 1600급 이상 |
| 메모리 | 4 GB RAM | 8 GB RAM |
| GPU | Direct3D 11 또는 OpenGL 3.3 지원 내장 GPU, Intel HD 4000 / Radeon R5급 이상 | Direct3D 11 또는 OpenGL 4.6 지원 GPU, GeForce GTX 650 / Radeon HD 7750급 이상 또는 동급 최신 내장 GPU |
| 화면 목표 | 1280×720, 낮음, 30 FPS 하한 | 1280×720, 보통, 평균 60 FPS |
| 저장 공간 | 500 MB 여유 공간 | 1 GB 여유 공간 |
Godot 4.7 공식 문서의 내보낸 프로젝트 하한은 Windows 10, SSE4.2 CPU, Compatibility 렌더러용 OpenGL 3.3/D3D11 GPU, 2 GB RAM입니다. 공식 권장은 물리 4코어, 4 GB RAM, OpenGL 4.6급 전용 GPU입니다. 엔진 문서도 프로젝트의 범위·해상도·설정에 따라 요구 사양이 달라지므로 실제 저사양 하드웨어 시험과 그래픽 옵션 제공을 권장합니다. Godot 4.7 시스템 요구사항
현재 자동 성능 게이트¶
scripts/test-performance.ps1은 가장 무거운 대형 작전을 고정 시드로 실행하고, 일반 방 하나를 최대 수량으로 봉쇄한 뒤 90프레임 준비와 240프레임을 측정합니다.
| 항목 | 통과 예산 | 2026-09-01 측정값 |
|---|---|---|
| 평균 헤드리스 프레임 | 16.667ms 이하 | 6.869ms |
| 최대 헤드리스 프레임 | 33.334ms 이하 | 8.830ms |
| 활성 방 적 | 대형 방 최대치 | 34명 |
| 전체 Node | 6,000개 이하 | 1,809개 |
| 동시 전기 이펙트 | 3개 이하 | 3개 |
| 맵 충돌체 | 원시 벽·장애물 셀의 25% 이하 | 774개, 6.7% |
측정 환경은 Ryzen AI Z2 Extreme, Radeon 890M, RAM 16 GB이며 gl_compatibility, 1280×720, 헤드리스 모드입니다. 이 결과는 CPU·SceneTree 회귀를 잡는 개발 게이트이며 실제 GPU 렌더링 성능, 발열 제한, 1% low FPS를 보증하지 않습니다.
적용한 최적화¶
- 전기 선분은 매 프레임 생성하지 않고 프로필별 10~20Hz에서만 재생성해 캐시합니다.
- 스킬 HUD 상태 전송을 10Hz로 제한하고 발동·준비 완료 시에만 즉시 갱신합니다.
- 지속 이동 버프는 매 프레임 감소 Node 대신 one-shot
Timer로 해제합니다. - 지속 자기장은 매 프레임이 아니라 0.5초 피해 틱에서만 대상을 순회하며 임시 자식 배열 생성을 제거했습니다.
- 적 A* 경로는 0.7초 간격으로 분산 갱신하고 대상이 96px 이상 이동했을 때 다시 계산합니다.
- 적 군중 분리는 0.08초 간격으로 분산 갱신하고 가까운 이웃 8명까지만 조향에 합성합니다. 생성 시 40px 간격도 한 번만 검사합니다.
- 연속 벽·설비 셀을 직사각형 충돌체로 병합해 대형 맵의 CollisionShape2D 폭증을 막습니다.
- 방 전투는 필요한 방에만 적을 만들고 전역 증원을 정지합니다. 적 생성기는 종료 Signal로 목록을 정리하며 매 프레임 전체 목록을 재검사하지 않습니다.
- 스마트 타게팅은 매 프레임이 아니라 새 발사 묶음에서만 최대 72개 대상의 가중 점수를 계산합니다.
- 전투 자원은 적 처치 순간에만 결정을 만들고, 슬롯 3개의 충전 타이머만 갱신합니다. 회수 완료 즉시 Pickup을 제거해 상시 Node를 누적하지 않습니다.
- 플레이어 이동의 정지 스냅·횡그립·반전 처리는 플레이어 한 명의 벡터 연산으로 끝나며 별도 Node나 매 프레임 대상 탐색을 추가하지 않습니다.
- 타격 충격은 공격마다 Node를 만들지 않고 Director 하나가 최대 32개 짧은 기록을 코드로 그립니다. 카메라 흔들림도 Camera2D 하나의 offset만 갱신합니다.
- 사이버펑크 노이즈·스캔라인은 화면 크기 변경 시에만 정적으로 다시 그리고, 매 프레임은 2px 스캔 바와 5px 상태 점만 이동·점멸합니다. 효과 계층은 6개 Node이며 Manifest에서 통째로 제거할 수 있습니다.
- 이동 체감 피드백은 Line2D 하나와 최대 10개 위치 표본을 재사용하며 출발·정지·선회 신호도 코드 드로잉으로 처리합니다. 속도·충돌 계산이나 새 텍스처·대시별 Node를 추가하지 않습니다.
출시 전 실기 인증 절차¶
- 최소 목표 PC와 권장 목표 PC에서 내보낸 Windows 빌드를 각각 실행합니다.
- 대형 맵의 연속 방 교전, 방당 적 34명, 문 봉쇄, 전장의 안개와 세 전기 스킬을 동시에 사용하는 조건을 10분 유지합니다. 방 전투 비활성 폴백은 별도로 적 72명까지 시험합니다.
- 평균 FPS, 1% low, 최대 프레임 시간, 메모리, GPU 사용률과 온도를 기록합니다.
- 최소 PC는 720p 낮음에서 30 FPS 하한, 권장 PC는 720p 보통에서 평균 60 FPS를 통과해야 합니다.
- 실패하면 적 표시 거리·전기 이펙트 밀도·안개 품질 옵션을 먼저 낮추고 사양표를 실측 결과로 교정합니다.
실행 방법¶
성공하면 PERFORMANCE_BUDGET_RESULT JSON과 PERFORMANCE_BUDGET_OK가 출력됩니다.
검색 별칭¶
사양, 최저 사양, 추천 사양, 시스템 요구사항, 최적화, 프레임, FPS, 성능 측정, 벤치마크, 저사양