Computer >> 컴퓨터 >  >> 시스템 >> Windows

DirectX 11 vs DirectX 12: 핵심 차이점 완벽 정리

DirectX 11 vs DirectX 12: 핵심 차이점 완벽 정리

DirectX는 소프트웨어가 멀티미디어 콘텐츠를 렌더링하고 그래픽 하드웨어와 통신할 때 사용하는 API(응용 프로그래밍 인터페이스) 모음입니다. DirectX의 핵심 구성 요소인 Direct3D는 소프트웨어와 그래픽 하드웨어 간의 통신을 담당합니다. 하드웨어마다 특성이 다르기 때문에, 표준화된 함수와 호출 라이브러리를 통해 그래픽 카드와 통신하면 게임 개발 속도가 크게 빨라집니다. 이를 하드웨어 추상화라고 부르며, 이것이 API의 가장 중요한 역할입니다.

자동차에 비유해 보면 이해가 쉽습니다. 한 대의 자동차를 운전할 줄 안다면 사실상 어떤 차든 운전할 수 있습니다. 액셀과 브레이크 페달의 위치가 같고, 핸들이 돌아가는 방향도 동일하며, 문은 바깥쪽으로 열립니다. 라디오 같은 부수적인 기능에는 약간의 차이가 있을 수 있지만, 전체적으로 무엇을 기대해야 하는지 알 수 있습니다. DirectX와 Direct3D도 마찬가지입니다. 개발자가 동일한 도구만으로 다양한 하드웨어와 소통할 수 있게 해주죠. 그리고 대부분의 게임 개발자가 Direct3D의 표준 라이브러리를 사용하기 때문에, API의 변화는 게이머와 개발자 모두에게 큰 영향을 미칩니다.

DirectX 12의 새로운 기능

DirectX 11 vs DirectX 12: 핵심 차이점 완벽 정리

DirectX와 Direct3D의 주요 업데이트마다 새로운 기능이 추가됩니다. 그중에서도 Direct3D 12는 특히 중대한 변화를 가져왔습니다. 실제로 게임 개발 방식 자체를 바꿀 수 있는 저수준(low-level) 그래픽 API의 새로운 시대를 여는 계기가 될 수 있다는 평가를 받습니다.

1. 더 낮은 수준의 하드웨어 추상화

DirectX 12는 개발자가 사용자 그래픽 하드웨어의 '메탈(metal)', 즉 하드웨어 본질에 더 가까이 다가갈 수 있도록 해줍니다. 이전에는 접근할 수 없었던 기능까지 활용할 수 있게 된 것이죠. 하드웨어를 더 깊이 제어할 수 있다는 것은 숙련된 개발자가 더 빠르게 실행되는 효율적인 코드를 작성할 수 있다는 의미입니다. 특히 더 빠른 멀티스레드 성능과 효율적인 CPU 활용을 통해 최적화 수준을 끌어올릴 수 있습니다.

이는 콘솔 게임에서 볼 수 있는 최적화와 유사한 효과를 기대할 수 있습니다. 콘솔 게임은 특정 중간급 하드웨어에 맞춰 극한까지 튜닝되기 때문에, 일반 PC 환경에서는 불가능한 성능을 끌어내곤 하죠. 반면 기존 DirectX 11은 비교적 높은 수준의 하드웨어 추상화만 제공했습니다. 덕분에 코딩 과정은 크게 단순해졌지만, 특정 하드웨어 기능에 맞춰 코드를 세밀하게 조정할 기회는 상대적으로 적었습니다. Microsoft 개발자 블로그에서는 DirectX 12가 이를 어떻게 구현했는지에 대한 상세한 정보를 확인할 수 있습니다.

2. 향상된 멀티코어 성능

DirectX 11 vs DirectX 12: 핵심 차이점 완벽 정리

지난 몇 년간 게이머들은 '멀티코어 CPU가 게임에는 크게 유용하지 않다'는 사실을 받아들여 왔습니다. 게임은 오히려 빠른 싱글 스레드 성능에 의존해 왔죠. 그 이유 중 하나는 DirectX 11이 충분한 병렬 처리를 지원하지 않기 때문입니다. 여러 CPU 스레드가 동시에 드로우(draw) 명령을 제출할 수는 있지만, 결국 모든 명령은 하나의 큐에서 순차적으로 처리됩니다.

DirectX 12는 이러한 제한을 없애고, 멀티코어 CPU가 GPU에 동시에 명령을 보낼 수 있도록 허용했습니다. 이를 통해 멀티코어 프로세서의 성능을 제대로 활용할 수 있는 길이 열린 것입니다.

3. 드로우 콜 오버헤드 감소

DirectX 11 환경에서는 CPU 성능의 상당 부분이 게임 코드를 실행하는 대신 API 명령을 해석하는 데 소모됩니다. DirectX 12는 이러한 API 오버헤드를 크게 줄여, 그만큼의 연산 자원을 게임 코드 실행에 활용할 수 있게 합니다. 즉, CPU 병목 현상이 발생하는 게임이라면 눈에 띄는 성능 향상을 기대할 수 있습니다. 물론 오늘날 대부분의 게임은 CPU 병목이 주된 문제는 아니지만, 앞으로 출시되는 게임들이 이 한계를 더욱 밀어붙일 가능성은 충분합니다.

4. 명시적 멀티 어댑터(Explicit Multiadapter)

DirectX 11 vs DirectX 12: 핵심 차이점 완벽 정리

DirectX 12는 여러 개의 GPU(일명 '디스플레이 어댑터')를 하나의 논리적 장치로 결합할 수 있는 기능을 갖추고 있습니다. 명시적 멀티 어댑터(Explicit Multiadapter)라고 불리는 이 기능은 여러 GPU가 마치 단일 GPU처럼 소프트웨어의 지시를 받을 수 있게 해줍니다. 예를 들어, DirectX 12 환경에서는 메인보드에 내장된 내장 GPU가 외장 그래픽카드와 협업하여 자체 연산 능력을 보태줄 수 있습니다.

또한 확장된 API 지원은 SLI/CrossFire 같은 멀티 GPU 구성에서 더 높은 안정성과 효율성을 의미하기도 합니다. 실제로 Microsoft의 테스트에서 내장 그래픽과 외장 그래픽을 함께 사용했을 때, 벤치마크에서 작지만 분명히 체감 가능한 성능 이점이 나타났습니다.

게이머에게 DirectX 12는 얼마나 중요할까?

많은 점진적 개선이 그렇듯, DirectX 11과 DirectX 12 사이에서 천지개벽 같은 차이를 기대하기는 어렵습니다. 새로운 기능이 사용자를 놀라게 할 만한 새로운 렌더링 옵션을 제공하는 것도 아니고, 두 버전 사이에 100 FPS나 되는 극적인 프레임 상승이 나타나는 것도 아닙니다.

하지만 이러한 효율성 개선은 결국 더 낮은 사양의 하드웨어에서도 더 나은 성능을 끌어내는 결과로 이어집니다. 즉, 하드웨어를 업그레이드하지 않고도 PC의 잠재 성능을 끌어올릴 수 있다는 것이 DirectX 12의 진짜 가치입니다.