• 締切済み

GDIとDIRECT-X

 WINDOW上でグラフィック描画を行うプログラムを作成する場合、 普通にウィンドウ上にMoveTo()やLineTo()で描画を行う場合と、 DIRECT-Xを使う場合では、後者にどのような利点があるのでしょうか?(2Dに限っての話です) それと一昔前にあった(?)WIN-Gというのは何だったのでしょうか?? 少し調べればわかることだとは思いますが、 理論的なことより、実際にプログラムを組む人々がどう違いを感じるかを 聞きたいです。よろしくお願いします。

みんなの回答

  • parts
  • ベストアンサー率62% (6366/10152)
回答No.1

Win-GってのはGAME-SDKかなこれはいわゆるDirectX1,0かその前の世代ですね。 (DirectXAPI群とほぼ同じで機能が少ないだけです) さて、描画での違いですが、まず独自のGDIを使った場合はご存じでしょうけど、プログラムが肥大化して大変です。 そこでGDIでは、Win32アプリ→GDI→デバイスドライバ(DDI)→グラフィックハード(逆方向のやりとりもあり)の順で処理していき画一された手法を使うことでプログラム開発を容易にしますが、欠点は処理が遅くなるということでした。 GDIの欠点はアプリからビデオボードのメモリに直接アクセス制御できないこと結局は能力を使いこなせず、パフォーマンス的に弱い。 それに対して、DirectXはWin32アプリ→DirectGraphics→HAL(介さないこともある)→DDI→ハード(逆方向のやりとりもあります) の順でデータのやりとりがされます。 HALデバイスとHELデバイスの処理がありますから、 HAL(Hardware Abstraction Layer)ではDirectX対応ハードでより高速に直接的にハードに命令を渡し処理できるだけではなくHEL(Hardware Emulation Layer)による非対応のハードでも機能をエミュレートすることができるよう工夫されています。それにGDIのプログラムの容易性も含まれて最新のグラフィックス技術、直接的な命令、DirectXSDKによるサポートでソフト開発が容易、DirectXのアップデートのみでの最新処理機能の追加などが可能になります。 特にSDK(Software Development Kit)が配布されてますから、プログラム制作者にはこの上のない制作環境が整います。

参考URL:
http://www.microsoft.com/japan/directx/
すると、全ての回答が全文表示されます。

関連するQ&A