Nagie's DevStory

[DX11] 다이렉트 X와 Win32 API의 차이점 본문

ComputerGraphics/DirectX

[DX11] 다이렉트 X와 Win32 API의 차이점

Nagie 2023. 12. 9. 21:57
728x90

1. 목적

 

  • Win32 API : Windows 응용 프로그램의 기본적인 윈도우 생성, 이벤트 처리, 파일 입출력 등과 같은
  • 운영 체제 기능에 관련된 API를 제공하며 GUI 애플리케이션 및 시스템 프로그래밍과 관련된 작업에 사용된다.

 

  • Direct X : 주로 그래픽 및 멀티미디어 기능에 중점을 둔 API 집합이며, 2D 및 3D 그래픽 처리, 음향 처리,
  • 입력 장치 처리 및 비디오 스트리밍과 같은 멀티미디어 작업에 사용된다.

 

 

2. 사용 언어

 

  • Win32 API : 초기에는 C를 사용해 프로그래밍하는 것이 일반적이었으나 시간이 흘러
  • C++의 객체 지향적인 특징을 활용하기 위해 C++와 함께 사용할 수 있도록 MS에서 확장했다.

 

  • Direct X : C++를 기반으로 멀티미디어 및 게임 개발을 위한 API이며,
  • 그래픽과 관련된 작업을 간편하게 수행할 수 있도록 설계가 되었다.

 

 

3. 접근 레벨

 

  • Win32 API : Direct X와 비교하면 상대적으로 낮은 수준의 API로,
  • 프로그래머에게 OS 기능에 직접적인 액세스를 제공한다.

 

  • Direct X : Win32 API와 비교하면 상대적으로 높은 수준의 API로, 그래픽 및 멀티미디어 작업을 추상화해
  • 개발자가 하드웨어 세부 사항에 대한 걱정 없이 더 쉽게 작업할 수 있도록 도와준다.

 

 

4. GPU 사용률

 

  • Win32 API : 일반적인 응용 프로그램을 개발하기 위한 API이기에 그 자체로는 그래픽 처리에 특화되어 있지 않으며
  • 그래픽 처리와 관련된 작업은 주로 GDI(Graphic Device Interface)를 통해 이뤄진다.
  • 즉 CPU를 주로 사용하기에 대량의 그래픽 처리에는 성능이 매우 낮다.

 

  • Direct X : 태생적으로 GPU(Graphic Processing Unit)를 효과적으로 활용하기 위해 설계된 API이다.
  • CPU와는 다르게 GPU는 병렬 컴퓨팅에 특화되어 있기에 그래픽 처리에서 Win32 API 대비 상당한 성능을 보인다.
728x90
Comments