게임 데이터 가이드

저장장치 I/O 경로 표준화, 게임 설치·캐시 배치, 업데이트·동기화 제어

oneplay1 2025. 9. 8. 20:57
경쟁형 PC 게임의 체감 안정성은 CPU·GPU 성능뿐 아니라 저장장치 I/O의 ‘언제·얼마나·어떻게’에 의해 크게 흔들린다. 로딩·맵 전환·오브젝트 스트리밍은 초당 처리량(Throughput)보다 지연 분포와 병행 작업 충돌의 영향을 더 민감하게 받는다. 같은 NVMe 장치라도 파티션 구성, 파일 시스템의 클러스터 크기, 컨트롤러의 SLC 캐시 정책, 여유 공간(오버프로비저닝)과 쓰기 증폭, 그리고 동시에 작동하는 업데이트·동기화·바이러스 검사 등에 따라 결과가 달라진다. 본 가이드는 사진·스크린샷을 쓰지 않고 인라인 SVG로만 구조를 설명하며, 누구나 재현 가능한 절차를 제시한다. 핵심은 세 단계다. 첫째, 저장장치 I/O 경로 표준화로 게임·녹화·다운로드가 서로 다른 물리/논리 경로를 사용하게 만든다. 둘째, 게임 설치·캐시 배치에서 스트리밍이 많은 타이틀은 가장 빠른 볼륨의 외곽(고속 구간)에 배치하고, 텍스처·셰이더 캐시는 별도 볼륨/폴더로 분리한다. 셋째, 업데이트·동기화 제어를 통해 혼잡 시간대의 대량 쓰기/읽기를 세션 외로 이동시키고, 실시간 검사·클라우드 동기화의 정책을 최소화한다. 목표는 평균 로딩 시간을 줄이는 것이 아니라, 맵 전환과 대규모 이펙트 순간에 발생하는 ‘최대 지연’을 낮추는 데 있다. 장치 교체나 OS 재설치 후에도 동일한 체감을 바로 재현할 수 있도록 프로필화하는 것을 권장한다.

저장장치 I/O 경로 표준화

저장장치 I/O 경로 표준화의 목적은 데이터 흐름을 물리·논리적으로 분리해 충돌 가능성을 낮추는 데 있다. 가장 단순한 구조는 C: 시스템/앱, D: 게임, E: 녹화/다운로드로 역할을 나누는 방식이다. 단일 NVMe만 가진 경우에도 파티션을 분리해 파일 시스템 조각화와 동시 쓰기 폭주를 줄일 수 있다. NVMe는 여유 공간이 성능·수명에 직결되므로 각 볼륨에 최소 15~20%의 빈 공간을 남긴다. 파일 시스템의 클러스터 크기는 대용량 연속 읽기가 많은 게임 볼륨에서 보수적으로 크게 잡는 편이 낫다. 드라이브의 ‘쓰기 캐시 정책’은 기본 활성화가 일반적이지만, 예외적으로 녹화 볼륨은 대형 연속 쓰기가 길게 이어지므로 전원 장애 대비 정책을 점검한다. SATA HDD를 보조로 쓰는 경우, 스팀·런처의 라이브러리를 SSD와 혼용하지 말고, 고빈도 접근 타이틀은 SSD에만 배치한다. 폴더 수준에서는 게임 실행 파일과 높은 IOPS를 요구하는 ‘Saved/Temp/ShaderCache’ 경로를 OS 실시간 감시 제외 목록으로 등록해 검사·훅킹 간섭을 줄인다. 캡처·편집을 병행하는 환경이라면 캡처 애플리케이션의 임시 파일 경로를 게임 볼륨과 분리한다. 스트리밍 중 재인코딩/미리보기 캐시가 게임 읽기와 같은 볼륨을 두드리면 프레임 드랍과 드라이버 제출 지연이 동시에 악화된다. 마지막으로, 장치 드라이버·스토리지 컨트롤러의 전원 절약 설정을 세션 프로필에서 비활성화해 절전→복귀 협상으로 인한 일시 정지를 막는다. 경로가 정리되면, 로딩·맵 전환·텍스처 스트리밍의 지연 곡선이 얕아지고, 교전 도중 일어나는 갑작스런 파일 접근에도 프레임 타임이 안정된다.

게임 설치·캐시 배치

게임 설치·캐시 배치는 ‘무엇을 어디에 둘 것인가’를 표준화해 스트리밍과 캐시 재생성의 충돌을 막는 작업이다. 먼저 라이브러리 위치다. 스트리밍이 많은 타이틀(오픈월드·대형 텍스처·다수의 동적 오브젝트)은 가장 빠른 볼륨의 외곽(물리 디스크 기준 시작 영역)에 배치한다. 동일 볼륨 내에서도 폴더 생성 순서·파일 배치가 영향을 주므로, 대형 타이틀을 선배치해 물리적으로 앞쪽 공간을 선점하게 한다. 텍스처·셰이더 캐시는 가능하면 게임 설치 경로와 분리한다. 일부 엔진은 최초 실행 시 셰이더를 대량 생성·컴파일한다. 이 과정이 설치 볼륨의 읽기와 동일 채널에서 맞부딪히면, 초기 로딩·튜토리얼 구간이 과도하게 길어진다. 별도 ‘Cache’ 볼륨/폴더로 경로를 지정하면 생성·검증·읽기가 서로 다른 경로를 사용해 충돌을 줄일 수 있다. 런처는 각 플랫폼별로 ‘다운로드 캐시’와 ‘라이브러리’가 섞여 있는 경우가 많다. 다운로드 캐시는 HDD/보조 SSD 등 느린 볼륨으로 분리하고, 라이브러리는 빠른 볼륨에 고정한다. 패치가 잦은 게임은 ‘증분 패치’가 누적되며 작은 파일이 늘어나기 때문에, 정기적으로 ‘파일 무결성 확인’ 후 캐시 재생성 시점을 정해 단번에 처리한다. 프리페치/프리로딩 옵션이 있는 타이틀은 배경에서 미리 데이터를 메모리로 가져오지만, 동시에 브라우저·스트리밍·클라우드 동기화가 작동하면 효과가 반감된다. 세션 시작 전 1~2분의 안정 구간을 두어 프리로딩이 끝나도록 하는 습관이 체감에 유리하다. 녹화 파일은 연속 쓰기가 길게 이어지므로, 게임과 다른 볼륨에 저장하고, 파일 시스템의 자동 인덱싱·섬네일 생성을 해당 폴더에서 끈다. 이렇게 구성하면 초기 로딩·맵 전환·리소스 스트리밍에서 상단 꼬리가 짧아져, 평균 FPS 변화가 없어도 체감이 매끄럽다.

업데이트·동기화 제어

업데이트·동기화 제어의 핵심은 대량 I/O 작업의 ‘시간·대상·우선순위’를 세션 외로 옮기고, 예외적으로 세션 중 필요한 작업은 대역·우선도를 엄격히 제한하는 데 있다. 런처 자동 업데이트는 ‘앱 실행 시’ 옵션을 끄고, 야간 일정으로 묶어 일괄 처리한다. 클라우드 저장·갤러리 동기화·스크린샷 백업은 업로드가 지연에 민감하므로, 세션 프로필에서 대역 제한을 두거나, 게임 실행 시 일시정지 후 종료 시 재시작하도록 스크립트/예약 작업으로 제어한다. 실시간 악성코드 검사는 게임·런처·셰이더 캐시 경로를 제외 목록으로 설정하되, 다운로드 폴더·임시 폴더는 제외하지 않는다. 시스템 복원·스냅샷·파일 이력 기능은 보호막이 되지만, 세션 중 대량 기록이 발생하지 않게 백업 주기를 야간으로 이동시킨다. 브라우저·메신저의 자동 다운로드 폴더가 게임과 동일 볼륨이면, 업데이트 파일이 로딩과 같은 통로를 두드리게 된다. 위치를 바꾸고, 고용량 파일은 수동으로 이동하는 습관을 들인다. 검증은 간단하다. ① 배경 업데이트/동기화 모두 OFF, ② 다운로드 캐시 분리, ③ 녹화 저장소 분리 상태에서 로딩·맵 전환·대형 교전 시 프레임 타임의 중앙값·95백분위 폭을 기록한다. 이후 한 항목씩만 켠 뒤 같은 시나리오를 반복해 폭의 변화를 비교한다. 폭이 넓어지는 항목은 세션 외로 완전히 이동하거나, 대역/우선도 제한을 강화한다. 이러한 표준을 문서화해 설치·업데이트·백업 이후에도 그대로 복원하면, 저장장치 관련 변수로 인한 체감의 요동을 최소화할 수 있다.

논리/물리 경로 분리 C: 시스템·앱 D: 게임 E: 녹화·다운로드 OS·백그라운드 게임 I/O 녹화·DL
역할별 경로를 분리하면 동시 I/O 충돌을 줄일 수 있다.
설치 경로 ↔ 캐시 경로 분리 D:\Games\Title E:\Cache\Shaders 생성·검증·읽기 경로 분리 → 충돌 완화
셰이더/텍스처 캐시를 별도 경로로 옮기면 초기 구간의 I/O 피크가 줄어든다.
업데이트·동기화 시간대 분리 야간 업데이트 백업/스냅샷 세션: 제한 대량 I/O는 세션 외, 세션 중에는 대역·우선도 제한
예약·제한을 분리하면 플레이 중 지연 폭이 줄어든다.