프롬소프트웨어는 엘든 링의 PC 버전을 효율을 고려한 셰이더 컴파일 단계 없이 DirectX 12 전용으로 출시했기 때문에, 새로운 애니메이션, 적, 폭발 유형이 나올 때마다 게임이 멈춰 셰이더를 컴파일했다. 디지털 파운드리의 알렉스 바탈리아는 최저 설정 720p로 실행한 i9-10900K와 RTX 3090에서도 같은 끊김을 발견했다.

밸브의 기존 '셰이더 사전 캐시' 토글은 이미 미리 컴파일된 셰이더를 제공했지만 Vulkan 및 OpenGL 게임에만 한정됐다. Steam Deck 리뷰가 공개된 다음 날, 엔지니어 피에르루 그리페이는 자신이 이 문제를 맡고 있다고 알렸다. 2022년 3월 7일 월요일 밤의 Steam Deck 업데이트는 인기 게임들, 그중 엘든 링을 포함해 '셰이더 사전 캐시 업데이트'를 배포하기 시작했는데, 이는 Proton 호환 계층이 휴대기기에서 모든 API 호출을 Vulkan으로 라우팅하기 때문이었다.

아스 테크니카는 업데이트 후 재테스트했다. 엘든 링은 Deck에서 낮음과 중간이 섞인 설정에서 30fps 상한을 유지했고 눈에 띄는 30 미만 프레임 타임 하락이 없었다. 이는 훨씬 높은 프레임 레이트에 도달했지만 같은 끊김이 계속된 리뷰어 본인의 윈도우 PC보다 부드러웠다. GTA V도 자체 사전 캐시 업데이트 후 더 안정적으로 실행됐다. 이 수정은 윈도우 플레이어에게는 미치지 않는다. Vulkan이 관여하지 않으면 DirectX 12 게임에는 사전 캐시 옵션이 적용되지 않기 때문이다.

모든 윈도우 게임을 Proton의 Vulkan 변환을 거치게 한 뒤, 밸브가 중앙에서 컴파일한 셰이더 캐시를 고정된 단일 하드웨어 사양인 Deck에 제공했다.

프롬소프트웨어가 끊김을 고치지 않았기 때문에, 밸브는 개발자를 기다리는 대신 플랫폼 측에서 문제를 해결했다.

기존의 Vulkan 전용 사전 캐시 기능을 재활용함으로써 Proton의 변환 덕분에 게임별 작업 없이 모든 윈도우 게임이 대상이 될 수 있었다.

Steam Deck의 고정 사양 덕분에 하나의 미리 컴파일된 묶음이 모든 소유자에게 제공될 수 있었다. 이는 무한히 다양한 게이밍 PC에서는 불가능한 일이다.

그 결과, 400달러짜리 휴대기기가 그해 최대 출시작에서 3,000달러짜리 장비보다 더 부드럽게 실행됐다.

플랫폼이 호환 계층과 고정 하드웨어 대상 모두를 통제할 때, 개발자들의 최적화 실패를 중앙에서 해결할 수 있다. 하나의 공유 다운로드가 사용자별 컴파일을 대체한다.

2022년 3월 7일 업데이트는 인기 Steam 게임들에 셰이더 사전 캐시 업데이트를 자동으로 배포했다. 아스 테크니카는 엘든 링이 이제 Deck에서 안정적인 30fps를 확보했고(상한 해제 시 30 미만으로 떨어지는 경우가 간간이 남아 있었음), GTA V의 끊김이 줄었음을 확인했지만, 소닉 제너레이션즈의 이식판은 여전히 끊겼다고 경고했다. 사전 캐시는 보편적인 해결책이 아니다. 윈도우 플레이어는 아무것도 얻지 못했는데, 리눅스와 Proton이 없으면 Vulkan 경로가 없기 때문이며, 프롬소프트웨어는 블로그 글에서 '프레임 레이트 현상'을 인정했을 뿐이었다.

근거 확인하기

출처

  1. Valve does what FromSoftware don't, thanks to Steam Deck's precaching update Ars Technica · arstechnica.com ·