2012-11-14 4 views
0
  1. Windows XP 및 이후 버전의 Windows에서 2D 안티 앨리어싱 벡터 및 비트 맵 이미지를 실시간으로 크기 조정 및 합성하려는 경우 하드웨어 가속을 최대한 활용하여 GDI + 또는 DirectX 9.0c? (실제로 Windows XP 및 Windows 7은 중요하지만 Vista의 성능에 대해서는 우려하지 않습니다.)Windows XP의 DirectX, GDI + 또는 SDI?

  2. 응용 프로그램이 크로스 플랫폼이 아니므로 SDL을 사용할 때 장점이 있습니까? ? SDL이 더 나은 성능을 제공하는 기본 드로잉 API로 전환하는 것이 더 쉬워 질지 궁금합니다.

  3. DirectX 9.0c에서 2D 이미지의 크기 조정 및 합성에 대한 설명서는 어디에서 찾을 수 있습니까? (DirectDraw에 대한 설명서는 찾았지만 DirectX 7 이후에는 더 이상 사용되지 않습니다. 그러나 Direct2D는 DirectX 10까지 사용할 수 없습니다.)

  4. 중간 규모의 Windows XP에서 하드웨어 가속화가 가능할 것으로 예상 할 수 있습니까? 낮은 사양의 PC (즉, 통합 그래픽)로? 그렇지 않다면 GDI + 또는 DirectX 9.0c를 사용하는지 여부도 중요합니다.

답변

0

방금 ​​발견했습니다 : 2D Rendering in DirectX 8.

DirectX 7 이후에 Microsoft에서 DirectDraw를 제거한 이후 3D API를 사용하여 모든 2D 드로잉을 수행 한 것으로 보입니다. 이것은 내가 왜 내가 찾고있는 문서를 찾지 못했는가를 설명 할 것이다.

이 기사는 지금까지 유망 해 보입니다.

다음은 다른 것입니다. 2D Programming in a 3D World

1

GDI +를 사용하지 마십시오. 소프트웨어의 모든 것을 수행하며 소프트웨어의 성능에는 좋지 않은 렌더링 모델을 가지고 있습니다. 당신은 다른 어떤 것에 대해서 더 잘할 것입니다.

Direct3D 또는 OpenGL (크로스 플랫폼 인 완전한 API를 원할 경우 SDL을 통해 액세스 할 수 있음)은 지원하는 하드웨어에서 최상의 성능을 제공합니다. Direct2D는 같은 보트에 있지만 Windows XP에서는 사용할 수 없습니다. 내 생각에 적어도 인텔의 통합 GPU의 경우 하드웨어는 변형 및 작곡과 같은 간단한 작업을 수행 할 수 있으며 이러한 GPU의 대부분의 문제는 기능 및 성능에 대한 요구가 높은 게임과 관련이 있습니다. ATI/Nvidia 카드에 최적화되어 있습니다. Direct3D가 비디오 카드에서 지원되지 않고 소프트웨어로 돌아가는 컴퓨터를 찾으면 문제가 생길 수 있습니다.

SDL은 비 OpenGL 드로잉을 위해 Windows에서 DirectDraw를 사용합니다. 어떻게 든 나는 DirectDraw가 최신 Windows 릴리스에서 모든 작업을 소프트웨어에서 수행한다는 인상을 받았다. (그리고 WinDX 이후로 중요한 DirectDraw가 사용 된 것을 감안할 때) 나는 그것을 확인할 수 없다.

렌더링에 Direct3D 또는 OpenGL을 사용할 수있는 크로스 플랫폼 벡터 그래픽 라이브러리가 이상적이지만 AFAICT는 사용할 수 없습니다. 카이로 그래픽 라이브러리는 Windows 가속 기능이 없으며 Mozilla는 Azure라는 프로젝트를 시작했습니다. Azure 프로젝트는 분명히 있지만 프로젝트 외부에서 사용하도록 설계되지는 않았습니다.

+0

제안 해 주셔서 감사합니다. SDI + 및 DirectDraw를 절대 피해야하는 것 같습니다. 그렇다면 Direct3D에는 2D 드로잉 용 API, 특히 스케일링 및 합성이 있습니까? 그렇다면 어디에서 설명서를 찾을 수 있습니까? 지금까지 읽은 모든 것은 곧바로 폴리곤, 가상 카메라 및 텍스처로 도약합니다. 아무도 관련이 없다고 생각합니다. –

+0

위키피디아에서는 DirectDraw _is_ hardware-accelerated라고 말합니다. :에스 –

관련 문제