DirectX란 무엇이며 왜 중요한가요?

DirectXAPI 또는 응용 프로그래밍 인터페이스(Application Programming Interface) 입니다. 비디오 게임의 소프트웨어 코드와 게임을 재생하는 데 사용되는 하드웨어 사이의 중개자 역할을 합니다. DirectX 가 없었다면 비디오 게임을 하는 것이 오늘날처럼 고통스럽지 않았을 것입니다. 그러나 DirectX 는 무엇 이며 왜 그렇게 중요한가요?

DirectXAPI 이지만 무엇입니까?

우리는 API 가 게임이 하드웨어와 통신할 수 있도록 하는 소프트웨어라고 말했지만 이는 지나치게 단순화한 것입니다. 결국 운영 체제와 통신하는 하드웨어 드라이버도 같은 방식으로 설명할 수 있습니다.

API가 하는 일은 게임 개발자가 컴퓨터 하드웨어에 제공하도록 요청할 수 있는 명령 및 기능 카탈로그를 표준화하는 것입니다. 게임과 하드웨어 장치가 말하는 두 가지 "언어"를 번역하는 게임과 하드웨어 사이의 소프트웨어 계층입니다.

더 정확하게 말하면 API 가 게임을 대신해 하드웨어 드라이버에게 말을 하고, 게임과 하드웨어 드라이버가 서로 직접적으로가 아니라  DirectX 와 호환되도록 작성되었기 때문에 원활한 대화를 의미합니다.(DirectX)

API(APIs) 에 대해 더 자세히 알고 싶다면 HDG는 다음과 같이 설명합니다. API란 무엇입니까? (HDG Explains: What Is An API?)시작하기에 좋은 곳입니다.

DirectX 이전의 나쁜 옛날

그래서 우리는 DirectX 가 게임과 실행에 필요한 하드웨어 사이에 있는 API 라는 것을 확인했습니다. 하지만 왜 비디오 게임은 그래픽 카드, 사운드 카드 등과 직접 대화할 수 없습니까?

그것이 바로 예전에 일어났던 일입니다. MS-DOS 시대 와 Windows 초기 에 비디오 게임은 하드웨어 드라이버와 직접 통신했습니다.

이 접근 방식의 문제는 게임 개발자가 모든 개별 제품 또는 제품군에 대한 코드를 작성해야 한다는 것입니다. 오늘날 고전적인 MS-DOS 게임을 하면 Creative SoundBlaster 또는 AdLib 와 같은 브랜드의 사운드 카드 항목을 볼 수 있습니다.

이들은 가장 인기 있는 사운드 카드 브랜드였으므로 게임 개발자는 대부분의 고객을 지원하지만 전부는 아닙니다. 결국 덜 알려진 하드웨어 제조업체는 유명 제품과 동일한 드라이버와 호환되는 제품을 만들 것입니다. 이것이 바로 우리가 당시에 " (Which)Sound Blaster Compatible " 카드를 많이 얻은 이유 입니다.

그 결과 가장 널리 지원되는 하드웨어를 가지고 있더라도 주어진 게임이 컴퓨터에서 작동한다는 보장이 없었습니다. DirectX 는 이 문제를 해결했습니다.

(DirectX Makes Things Easier)DirectX는 개발자(Developers)하드웨어 제조업체(Hardware Makers) 를 위한 작업을 더 쉽게 만듭니다 .

DirectX 의 각 버전 (그리고 DirectX 12 까지 )은 호환되는 하드웨어가 갖추어야 하는 하드웨어 및 소프트웨어 기능 세트를 제시합니다. 즉, 그래픽 카드가 최신 버전의 DirectX 에 대해 인증을 받으려면 최소한의 기능이 내장되어 있어야 합니다.

그런 다음 개발자는 특정 그래픽 카드와 호환되지 않고 DirectX 자체와 호환되도록 게임을 작성합니다. 즉, 하드웨어 제조업체와 게임 개발자 모두 제품을 DirectX 로 표준화하므로 특정 버전의 (DirectX)DirectX 에서 작동하도록 설계된 모든 게임 및 하드웨어 구성 요소는 서로 원활하게 작동합니다.

DirectX는 Xbox의 "X"입니다.

비디오 게임 콘솔 공간에서 가장 큰 두 가지 이름이 PlayStationXbox 라는 것은 누구나 알고 있지만 후자의 원래 이름은 처음에는 "DirectX Box"였습니다.

Microsoft 가 이름을 줄이기로 결정한 것이 최선일 수도 있지만 콘솔에 대한 매우 정확한 설명이기도 합니다. 첫 번째 Xbox는 Windows(Windows)DirectX 의 축소 버전을 실행하는 PC 하드웨어와 함께 자갈 모양으로 만들어졌습니다 . 이것은 최신 Xbox 시리즈 X 및 S 콘솔(Xbox Series X and S consoles) 에서 오늘날에도 여전히 사실입니다 . 

이것의 큰 이점 중 하나는 XboxWindows PC 간의 게임 이식 이 매우 간단하다는 것입니다. 사실상 동일한 플랫폼이기 때문입니다. 그러나 PlayStation과 Nintendo Switch 는 자체 API 를 사용 (APIs)하므로 DirectX(DirectX) 에 대한 다음 중요한 사실을 알 수 있습니다.

DirectX마을(Town) 의 유일한 게임 이 아닙니다.(Game)

DirectX 는 가장 중요하고 널리 사용되는 API(APIs) 중 하나가 되었지만 유일한 API는 아닙니다. 많은 다른 조직에서 표준화의 필요성을 인식했습니다. DirectX 는 그래픽에서 게임 컨트롤러에 이르기까지 모든 것을 포괄 하는 API 이지만 그래픽 과 같은 한 측면에만 초점을 맞춘 API 도 있습니다.(APIs)

90년대 중반에 최초의 3D 그래픽 카드가 대중화되기 시작했을 때 그래픽 API(APIs) 의 필요성 이 절실해졌습니다. 3dFX Voodoo 카드는 독점적인 Glide API를(Glide API) 사용 했습니다. OpenGL ( Open Graphics Library )은 오늘날에도 여전히 인기 있는 개방형 표준이며 (Open Graphics Library)Vulkan 과 같은 현대적인 형태로 존재합니다 . 또한 Apple에는 자체 장치용 Metal API 가 있으며 휴대폰 및 태블릿과 같은 다른 장치 범주에는 더 많은 것이 있습니다.

DirectX 가 완전한 시장 지배력을 갖고 있지는 않지만 다른 API 는 (APIs)Microsoft 가 각 버전의 DirectX 에서 의무화하기로 결정한 사항의 영향을 받습니다 . 즉, 그들은 다른 모든 사람에게 지시하지 않습니다. DirectX 의 각 버전은 모든 이해 관계자와 협의하여 만들어지므로 관계는 가정하는 것보다 더 상호적인 것 같습니다.

DirectX 는 걱정할 필요가 없습니다

가장 큰 문제는 사용자가 DirectX(DirectX) 에 대해 어느 정도까지 걱정해야 하는지 입니다. 과거에는 이전 Windows 시스템 에서 이전 버전의 DirectX 를 사용하여 (DirectX)DirectX 를 수동으로 설치해야 했습니다. 대부분의 경우 주어진 게임은 필요한 최소 DirectX 버전을 번들로 제공 합니다. 해당 설치 프로그램이 시스템에서 해당 DirectX 세대의 최신 버전을 감지하면 아무 것도 설치하지 않을 것입니다.

DirectX 버전(예: 9c,11 &12)은 고유하지만 Windows 10 에는 해당 버전 의 복사본이 사전 설치된 상태로 제공됩니다. 이전 게임은 반짝이는 새 Windows 10(Windows 10) 컴퓨터 에서 잘 실행 됩니다.

훨씬 더 중요한 것은 하드웨어 선택입니다. 언제든지 소프트웨어를 업데이트하거나 올바른 소프트웨어를 다운로드하여 복고풍 게임을 작동시킬 수 있지만 업그레이드나 새 컴퓨터 없이는 하드웨어를 변경할 수 없습니다.

DirectX를 통한 하드웨어 규정 준수

비디오 게임 또는 유사한 기술을 사용하는 기타 응용 프로그램과 관련된 모든 하드웨어는 일반적으로 출시 당시 최신 버전의 DirectX 와 호환됩니다.(DirectX)

그러나 새 버전의 DirectX 가 출시되면 새 버전의 (DirectX)DirectX 가 작동하는 데 필요한 하드웨어 기능이 누락된 경우 기존 하드웨어가 호환되지 않을 수 있습니다 . 그렇다고 하드웨어를 즉시 전환해야 하는 이유는 아닙니다! 

게임이 여러 버전의 DirectX(DirectX) 를 지원하는 과도기는 항상 있습니다 . 예를 들어, 현재 게임은 DirectX 11DirectX 12 를 모두 지원하는 것이 일반적입니다 . 그러나 새로운 하드웨어(특히 GPU ) 시장에 있다면 최신 주요 버전의 (GPUs)DirectX 와 호환되는 것을 구입하는 것이 좋습니다 . 새로운 구매가 적어도 몇 년 동안 관련성을 유지하기를 원하기 때문입니다.

그 동안 새 하드웨어가 Vulcan(Vulcan) 과 같은 다른 주요 경쟁 API(APIs) 의 최신 버전과 호환되는지 확인할 수도 있습니다.



About the author

저는 이 분야에서 거의 10년의 경험을 가진 소프트웨어 엔지니어이자 블로거입니다. 저는 Mac 및 Windows 플랫폼을 위한 도구 리뷰 및 튜토리얼 제작을 전문으로 할 뿐만 아니라 소프트웨어 개발 주제에 대한 전문가 논평을 제공합니다. 저는 또한 전 세계의 기술 컨퍼런스에서 프레젠테이션을 한 전문 연사이자 강사입니다.



Related posts