진단 매트릭스: 셰이더 컴파일 스터터링과 하드웨어 병목의 차이
DirectX 12 및 Vulkan 게임에서 그래픽 드라이버 업데이트 직후나 오랜만에 게임을 켰을 때 발생하는 순간적인 프레임 드랍(1% Low 폭락)은 90% 이상 셰이더 캐시 무효화 및 용량 고갈에 기인합니다.
| 스터터링 발생 환경 | 드라이버 및 그래픽 API 동작 원리 | 주된 원인 | 확실한 대처법 |
|---|---|---|---|
| 드라이버 업데이트 직후 10~15분간 극심한 버벅임 | 드라이버 설치 과정에서 기존 이진 캐시가 일괄 삭제됨 | 파이프라인 상태 객체(PSO)의 실시간 재컴파일 | 맵을 돌며 로컬 컴파일이 누적되도록 잠시 대기 |
| 여러 게임을 번갈아 플레이 시 이전 게임에서 끊김 재발 | GPU 드라이버의 기본 설정인 1 GB 캐시 상한선 초과 | 신규 게임 캐시 유입으로 구작 캐시가 자동 강제 삭제됨 | 드라이버 제어판에서 캐시 크기를 10 GB 이상으로 확장 |
| 게임 대규모 패치 후 그래픽 깨짐 또는 실행 튕김 | 업데이트된 실행 코드와 구버전 캐시 블롭 충돌 | 디스크에 저장된 DirectX 셰이더 캐시 오염 | Windows 디스크 정리 도구로 DirectX 셰이더 캐시 소거 |
왜 기본 1 GB 용량 제한이 문제를 일으키는가?
NVIDIA 및 AMD 드라이버는 전통적으로 셰이더 캐시 기본 용량을 보수적인 1 GB로 제한해 왔습니다:
- 최신 고사양 게임(사이버펑크 2077, 앨런 웨이크 2 등)은 단 한 편만으로도 400MB~800MB의 디스크 캐시를 점유합니다.
- 3~4개의 최신 게임을 설치해 번갈아 즐기면, 드라이버의 최근 최소 사용(LRU) 알고리즘이 다른 게임의 캐시를 삭제해 버립니다.
- 삭제된 게임을 다시 구동하면 캐시를 읽지 못하고 CPU가 인게임에서 실시간 컴파일을 강행하여 심각한 스터터링 루프가 반복됩니다.
셰이더 캐시 최적화 3단계
1단계: 셰이더 캐시 용량을 10 GB 또는 100 GB로 확장
- NVIDIA 사용자:
- 바탕화면 우클릭 -> NVIDIA 제어판 실행.
- 3D 설정 관리 -> 전역 설정 탭 진입.
- 셰이더 캐시 크기 항목을 찾습니다.
- '드라이버 기본값'에서
10 GB(SSD 여유가 충분하다면100 GB)로 변경 후 적용.
- AMD 사용자: 아드레날린 드라이버 '설정 -> 그래픽 -> 고급'에서 필요한 경우 셰이더 캐시 재설정 버튼 활용.
2단계: 손상된 DirectX 캐시 소거
Win + R키를 누르고cleanmgr입력 후 엔터.- C: 드라이브 선택 후 목록에서 DirectX 셰이더 캐시만 체크하고 삭제 실행.
- 재부팅 후 게임을 실행하여 깨끗한 상태의 캐시를 재구축합니다.