게임 그래픽이 고급화됨에 따라 셰이더 퍼뮤테이션이 폭발적으로 증가해 오랫동안 셰이더 컴파일을 기다리거나 실시간 컴파일로 인해 스터터링이 발생하는 문제를 해결하기 위한 기술입니다.
구글 번역
=======
오늘 저희는 GDC 강연 "Windows용 고급 셰이더 배포" 에서 생태계 전반에 걸쳐 셰이더 컴파일 문제를 해결하기 위한 혁신적인 기술을 발표했습니다. 이 기술이 여러분의 게임과 고객을 위한 셰이더 컴파일 문제를 어떻게 해결할 수 있는지 궁금하신가요? 계속 읽어보세요!
산업 현황
PC 게임에서 가장 큰 문제점 두 가지는 D3D12 애플리케이션의 긴 셰이더 컴파일 시간과 게임 내 셰이더 끊김 현상입니다. 이러한 문제는 런타임에 셰이더를 컴파일하는 과정에서 발생합니다. 콘솔 게임과 달리 PC 게임은 고정된 드라이버 및 GPU 환경을 사용하지 않기 때문에, 미리 컴파일된 셰이더를 Windows 생태계 내의 다양한 드라이버와 GPU 환경에 배포해야 합니다.
지난 가을, 저희는 고급 셰이더 전송 기술 이 Xbox ROG Ally 및 Ally X 기기에서 문제를 해결하는 방법을 발표했습니다. 오늘 마이크로소프트는 게임 개발자, 독립 하드웨어 공급업체(IHV), 게임 스토어 간의 생태계 구성 요소를 통합하여 향후 PC에서의 셰이더 컴파일 문제를 해결하고자 합니다.
게임 개발자는 게이머가 특정 하드웨어에 맞춰 완전히 컴파일된 셰이더를 다운로드할 수 있도록 지원할 수 있습니다. 이전 블로그 게시물 에서는 게임 타이틀을 추적하거나 프로그램적으로 상태 객체 데이터베이스(SODB) 파일을 생성 하고 오프라인 컴파일러를 사용하여 상태 객체를 사전 컴파일된 셰이더 데이터베이스(PSDB) 형식으로 컴파일하여 고급 셰이더 제공의 이점을 로컬에서 테스트하는 방법 을 설명했습니다.
새로운 소식 및 출시 예정 소식
AgilitySDK 1.619 릴리스에서는 앱 등록 API와 통계 API라는 두 가지 새로운 API를 공개했습니다.
새로운 API:
앱 ID API: 이 API를 통해 애플리케이션은 표준화된 방식으로 D3D12 및 기본 그래픽 드라이버에 자체 애플리케이션 ID를 선언할 수 있습니다. 할당 시 D3D12 장치가 생성되기 전에 기본 D3D12_APPLICATION_DESC 및 GUID를 설정하여 자체 식별이 가능합니다. SODB에 애플리케이션 ID를 첨부하는 것은 Xbox 파트너 센터에 게임 타이틀의 SODB 파일을 제출하기 위한 필수 요건입니다.
통계 API : 이 API는 게임 개발자에게 사전 컴파일된 셰이더 데이터베이스(PSDB)의 성능을 확인할 수 있는 기능을 제공합니다. 특정 하드웨어 구성에서 특정 PSDB가 얼마나 잘 작동하는지 확인하고 싶다면, 이 API를 통해 셰이더 캐시 적중률에 대한 정보를 얻을 수 있습니다.
PIX 지원: 2026년 5월 버전의 PIX에서는 게임 실행 중에 이러한 통계가 PIX의 시스템 모니터 보기에서 실시간 카운터로 표시됩니다.
부분 그래픽 프로그램(Partial Graphics Programs):
일부 게임은 파이프라인 상태 객체(PSO)가 너무 많아 대부분의 게임 엔진이 이를 열거할 수 없는 경우가 있습니다. 이러한 PSO가 많은 게임을 다양한 하드웨어 구성에 맞춰 미리 컴파일하여 고급 셰이더 배포 방식을 적용하는 것은 상당한 시간이 소요되고 중복 작업이 발생합니다. 이러한 문제를 해결하기 위해 부분 그래픽 프로그램을 개발했습니다. 부분 그래픽 프로그램은 파이프라인 생성 과정을 두 단계로 나눕니다. 먼저 여러 그래픽 파이프라인에서 공통으로 사용되는 상태를 포함하는 부분적인 사전 래스터화 및 픽셀 셰이더 프로그램을 생성하고, 그 후 다른 상태와 연결합니다.
PSO가 많은 게임의 경우, 그래픽 프로그램을 더욱 효율적으로 재사용하고 런타임에 연결할 수 있도록 부분 프로그램이 곧 제공될 예정입니다. 그전까지는 오늘 공개된 부분 그래픽 프로그램 사양을 확인해 보세요.
산업 연계
저희는 PC 생태계 전반에 걸쳐 고급 셰이더 지원을 확대하기 위해 GPU 하드웨어 제조사들과 긴밀히 협력하고 있습니다. 파트너사들이 이 기능 지원에 대해 어떻게 생각하는지 아래에서 확인해 보세요.
"고급 셰이더 전달(ASD)은 Xbox ROG Ally 기기에서 로딩 시간을 단축하고 게임 내 끊김 현상을 없애 게임 경험을 혁신하고 있습니다. 마이크로소프트와 AMD 엔지니어링 팀이 이렇게 짧은 시간 안에 이뤄낸 성과는 정말 놀랍습니다."-로드니 앤드레, 회사 소프트웨어 개발 담당 부사장"인텔은 PC에서 셰이더 컴파일 문제를 해결하여 전반적인 게임 경험을 개선하는 데 전념하고 있습니다. 마이크로소프트의 고급 셰이더 전달은 셰이더 로드 시간과 컴파일 오류를 줄이는 데 중요한 단계이며, 인텔은 루나 레이크 및 팬서 레이크 플랫폼에서 이 기능을 지원하는 드라이버를 출시하게 되어 기쁩니다."– 리사 피어스 – 인텔 소프트웨어 그룹 부사장더 자세한 내용은 여기를 참조하세요."수년간 게이머들을 괴롭혀 온 셰이더 관련 끊김 현상과 로딩 시간을 없애기 위해 NVIDIA는 Microsoft와 긴밀히 협력하여 올해 말 GeForce RTX 사용자들을 위한 고급 셰이더 전 기술을 출시할 예정입니다."엔비디아 게임 및 AI 부문 제품 관리 이사 헨리 린더 자세한 내용은 여기를 참조하세요."고급 셰이더 전달은 퀄컴 스냅드래곤® 컴퓨팅 플랫폼의 핵심 기능입니다. 중복 셰이더 컴파일을 줄여 전반적인 게임 경험을 향상시킵니다. 마이크로소프트의 DirectX 팀과 협력하여 퀄컴 아드레노™ X2 GPU에 이 기능을 곧 선보일 예정입니다."– Nagendra Kumar, 엔지니어링 부문 수석 이사
다음은 미들웨어 파트너사가 이 기능 지원에 대해 밝힌 내용입니다.
"언리얼 엔진으로서, 저희는 생태계 내에서 고급 셰이더 구현을 지원하게 되어 매우 기쁩니다. SODB 및 PSDB 생성에 대한 초기 테스트와 탐색을 진행해 왔으며, 곧 더 자세한 내용을 공개할 예정입니다." - 미흐네아 발타, 에픽 게임즈 렌더링 엔지니어링 디렉터
(IP보기클릭)140.248.***.***
(IP보기클릭)118.235.***.***
(IP보기클릭)211.117.***.***