사양은 좋은데 첫 폭발에서 ‘뚝’…게임이 그림 그릴 준비를 늦게 끝낼 때

PSO컴파일로 인한117밀리초 끊김과 다른 원인의 지연을 구분하는 언리얼 공식 진단 화면Epic Games·Unreal Engine 공식 PSO Precaching 문서의 실제 설명·Unreal Insights 도표 화면1905×904 원크기 캡처·보도 인용·허가 취득 아님
PSO컴파일로 인한117밀리초 끊김과 다른 원인의 지연을 구분하는 언리얼 공식 진단 화면

게임은 대체로 부드러운데 처음 보는 폭발이나 새 재질이 등장할 때만 잠깐 멎는 경우가 있다. GPU가 장면을 얼마나 빨리 그리는지와 별개로, 그 장면을 그릴 프로그램의 준비가 늦었을 가능성이 있다. 셰이더 컴파일 스터터링이 그런 현상이다. 좋은 그래픽카드를 쓴다는 사실만으로 모든 첫 사용 지연이 사라지는 것은 아니다. 다만 특정 이용자의 끊김을 증상만 보고 이 원인으로 확정할 수는 없다.

다운로드한 파일이 모든 GPU의 완성 코드인 것은 아니다

셰이더는 변형·조명·그림자·후처리처럼 화면을 만드는 일을GPU에서 수행하는 프로그램이다. PC에는 서로 다른GPU와 세대가 있으므로 게임은 중간 형태의 코드를 배포하고, 드라이버가 실제 장치에서 실행할 코드로 바꾸는 과정을 거친다. 화면에 처음 써야 하는 순간까지 이 작업이 남아 있으면 그리기가 기다린다. 짧은 순간이라도 한 프레임이 길어지면 플레이어는 끊김으로 느낄 수 있다.

이 준비를 묶어 다루는 것이 파이프라인 상태 객체,PSO다. 셰이더와 렌더링 설정을 함께 묶어 실제로 그리기 전에 만들 수 있게 한다. 그래서 로딩 화면의 ‘셰이더 준비’가 단순한 대기가 아니라 플레이 중 해야 할 일을 앞당기는 과정일 수 있다. 재질·메시·그래픽 설정의 조합이 많아 가능한 모든 경우를 무조건 미리 만드는 것도 시간과 메모리 면에서 어렵다.

Hit·Miss·Too Late를 나눠 표시한 Unreal Engine 공식PSO사전캐시 통계
공식 PSO 통계 예시는 미리 준비한 항목과 놓친 항목, 준비 요청은 했으나 늦은 항목을 따로 집계한다. 이 수치는 평균FPS나 이 기사의 자체 성능 측정값이 아니다. / Epic Games·Unreal Engine2025년2월4일 기술글의 공식 PSO precaching stats1200×540 원본·보도 인용·허가 취득 아님

두 번째 실행이 빠른 이유, 캐시를 지우면 되돌아갈 수도

드라이버는 준비한PSO를 디스크에 저장해 다음 실행에서 재사용할 수 있다. 새 드라이버 설치로 캐시가 비워지면 첫 실행이나 첫 로딩이 다시 길어질 수 있다는 게 에픽의 설명이다. 캐시를 무작정 삭제하면 언제나 빨라진다는 조언과는 반대다. 개발 문서가 테스트 때 캐시를 비우라고 권하는 이유도 최적화 마법이 아니라, 처음 실행하는 플레이어의 조건을 재현하기 위해서다.

현재 언리얼 문서는 로딩 화면이 남아 있는 사전 컴파일 요청을 고려하도록 안내한다. 요청만 해놓고 준비 전에 해당 효과를 그리면 늦은 항목 때문에 지연이 생길 수 있다. 공식 진단 사례에는117밀리초PSO 지연이 보이지만, 같은 그래프의 다른 큰 지연은PSO 원인이 아니라고 명시돼 있다. 평균 프레임 수 하나만으로 원인을 가를 수 없는 이유다. 새 효과의 첫 등장과 반복 시 차이, 드라이버 변경 전후 같은 조건을 나눠 보는 편이 하드웨어 부족이나 캐시 문제를 성급히 단정하는 것보다 정확하다.

출처로 확인한 내용

3건

그리기 직전 새 셰이더 컴파일을 기다리면 첫 사용에서 끊김이 생길 수 있다.

드라이버캐시는컴파일된PSO재사용을돕고새드라이버설치후첫로딩이길어질수있다.

공식문서는로딩에사전컴파일완료를고려하도록안내하고117msPSO진단사례와다른원인지연을구별했다.

출처 2곳

비슷한 주제

모두 보기