30
パート 2: 2D、アクセラレーション、Windows: グラフィック カードはすべて同じではないのですか?

はじめに: 2DグラフィックスのGDI出力がなぜ重要なのか

まず最初に、「2D、アクセラレーション、そして Windows: すべてのグラフィック カードは同じではないのか?」をまだ読んでいない方は、ぜひそちらを先に読んでみてください。これは、Windows の 2D の歴史とハイエンドの個別グラフィック カードに見られる現在の問題についてのパート 2 の探究のパート 1 です。

この第2部では、GDIの重要性に焦点を当て、2Dグラフィックス出力をより詳しく説明し、Tom's Hardware DEでまだご覧になっていない方のために、2Dベンチマークをご紹介します。このベンチマークの結果を完全に理解するには、まず関連する理論的な基礎を掘り下げる必要があります。

Direct2D か GDI か? あるいは両方か?

Direct2D か GDI か? あるいは両方か?

Windows 7 と Direct2D の時代になっても、なぜ GDI をテストし続けるのでしょうか?

このシリーズの第1回では、DirectX 10対応グラフィックカードとWindows Vistaの導入により、2Dグラフィック出力用の旧式のGDIメソッドは時代遅れになったのではないかと多くの読者から推測がありました。WPF(Windows Presentation Foundation)とDirect2Dは、Microsoft開発者が以前から利用できていました。しかしながら、GDI(グラフィックス・デバイス・インターフェイス)が依然として紛れもなく意義深く、重要なものである理由は数多くあります。そのため、Windows 7という素晴らしい新世界においても、GDIの動作とパフォーマンスを検証する必要があります。その理由には以下が含まれます。

  • GDI は古いグラフィック カードを引き続きサポートしますが、Direct2D では DirectX 10 以上をサポートできるカードが必要です。
  • GDI は Windows のすべての既知のバージョンでサポートされていますが、Direct2D は Windows Vista と Windows 7 でのみ使用できます。
  • Windows XP(および以前のWindowsバージョン)で実行されるすべてのグラフィックアプリケーションはGDIを使用します。

多くのソフトウェア開発者は、自社のソフトウェアを古いAPIから新しいAPIに移行することに抵抗を感じています。今日でも、多くの開発者は、新しい技術が利用可能になったとしても、使い慣れた同じプログラミングライブラリを使い続けています。ライブラリを別のものに移行するということは、影響を受けるすべてのコードモジュールを書き直し、再テストすることを意味します。古いライブラリから新しいライブラリへの移行によるパフォーマンスの向上はほとんど実感できない場合もあるため、ソフトウェア開発者は純粋に経済的な理由(時間と労力がかかりすぎて、得られる成果が小さすぎる)から、このような変更を躊躇します。Mozilla FirefoxのさまざまなコンポーネントにおけるDirect2Dの実装を例に挙げると、業界がこの移行プロセスをいかにゆっくりと進めているかが分かります。さらに、多くの企業にとって、XPユーザーコミュニティ全体を最新リリースから締め出すことは、一種の経営上の自殺行為と言えるでしょう。これらすべてを総合すると、一つの説得力のある結論が導き出されます。それは、Windows XPがエンドユーザーコミュニティの重要な構成要素ではなくなるまで、GDIはおそらく存続するだろうということです。

GDI が長く使われ続けている理由としては、技術的な理由もあります。主要な GDI コード モジュール (Windows アプリケーションに最も頻繁に含まれ、呼び出されるモジュール) は、完全には移植可能ではありません。Direct2D もかなりの処理能力とシステム リソースを消費しますが、Direct3D で実現できない機能はありません。Direct3D を使わないという選択をする人は、通常、この決定を非常に慎重に検討した上でのことでしょう。さらに、GDI は、モニターやプリンターなど、使用中の出力デバイスとは独立して動作します。そのため、プログラム内の同じルーチンで、モニターにグラフィックスをレンダリングし、プリンターに出力できるため、コード (およびそれに伴うメンテナンスとエラーのリスク) を最大で半分に減らすことができます。今日では、最も手頃なプリンターの多くは GDI デバイスであり、この状況は、GDI 専用プリンター用のドライバーが数多く広く利用できる Windows 7 でも、すぐに変わる可能性は低いでしょう。

Direct3D 出力 (D3D) の一部としての Direct2D

Direct3D 出力 (D3D) の一部としての Direct2D

全体は全ての部分の合計よりも大きい

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

私たち自身は、WPFとDirect2Dへの移行はMicrosoftが強引に推し進めている動きであり、後戻りできない技術的前進だと考えています。しかし、新しい技術に熱狂する人は、この記事でまとめる過去の導入を思い出すべきです。Windows XPを含め、レガシー技術は依然として十分に残っており、過去を無視する覚悟がなければ未来に真に向き合うことはできません。しかし残念ながら、これは多くのユーザーが直面する現実、例えば780Gと785Gのオンボードグラフィックチップに見られるWindows XPへのよく知られた恐怖感などを無視しています。

パート1で使用したベンチマークを再度検証しますが、今回は独自に構築したソフトウェアを使用します(読者の皆様は、このツールを当サイトからダウンロードして、ご自身のPCで実行することも可能です)。多くの人が古い技術と考えるもの向けに最適化されていないドライバーを使用していると、最も高価なグラフィックカードでさえ、これらのテストの一部で全く結果を出せないことがわかります。

現在のページ: はじめに: 2DグラフィックスのGDI出力が重要な理由

次のページ Windows XPからWindows 7までの2D GDIの詳細

Tom's Hardwareは、熱心なコンピュータ愛好家のための最高の情報源です。プロセッサから3Dプリンター、シングルボードコンピュータ、SSD、ハイエンドゲーミングマシンまで、あらゆる製品を網羅し、読者の皆様がお気に入りのテクノロジーを最大限に活用し、最新の開発動向を把握し、最適な機器を購入できるようお手伝いします。スタッフは、ニュースの取材、技術的な問題の解決、コンポーネントやシステムのレビューなど、合計100年以上の経験を有しています。