はじめに:2DグラフィックスのGDI出力が引き続き適切である理由
まず最初に:2D、Acceleration、およびWindows:すべてのグラフィックカードが同じではないかをまだ読んでいない場合は、最初にそれを確認してください。これは、このパート2の歴史の探求のパート1です。 Windowsでの2Dの問題と、ハイエンドのディスクリートグラフィックカードで見られる現在の問題。
この第2部では、GDIの関連性に焦点を当て、2Dグラフィックス出力をより完全に説明し、2Dベンチマークを提示します(トムのハードウェアDEでまだ発見していない人向け)。そのベンチマークの結果を完全に理解するには、最初にいくつかの関連する理論的基礎を掘り下げる必要があります。
Windows 7とDirect2Dの時代でもGDIをテストするのはなぜですか?
このシリーズの最初のパートでは、DirectX10対応のグラフィックカードとWindowsVistaの導入により、2Dグラフィック出力用の古いGDIメソッドが廃止されたと多くの読者が推測しました。WPF(Windows Presentation Foundation)は、Direct2Dとともに、Microsoft開発者がしばらくの間利用できるようになっています。それでも、GDI(Graphics Device Interface)が議論の余地なく意味があり、関連性がある理由はたくさんあります。つまり、Windows 7の勇敢な新世界であっても、その動作とパフォーマンスを調べる必要があります。これらの理由は次のとおりです。
GDIは引き続き古いグラフィックカードをサポートしますが、Direct2DにはDirectX10以降をサポートできるカードが必要です。
GDIはすべての既知のバージョンのWindowsでサポートされていますが、Direct2DはWindowsVistaおよびWindows7でのみ使用できます。
Windows XP(および古いバージョンのWindows)で実行されるすべてのグラフィックアプリケーションはGDIを使用します
多くのソフトウェア開発者は、ソフトウェアを古いAPIから新しいAPIに変換することに抵抗しています。今日でも、新しいテクノロジーが利用可能であっても、多くの開発者は同じよく理解されているプログラミングライブラリに目を向け続けています。あるライブラリから別のライブラリに変換することは、影響を受けるすべてのコードモジュールを書き直して再テストすることも意味します。古いライブラリから新しいライブラリへの変換によるパフォーマンスの向上はほとんど認識できない可能性があるため、ソフトウェア開発者は、純粋に経済的な理由でそのような変更を行うことにも躊躇します(結果が小さすぎると時間と労力がかかりすぎます)。実例としてMozillaFirefoxのさまざまなコンポーネントにDirect2Dを実装すると、この変換プロセスを実行する際の業界のゆったりとしたペースを感じることができます。加えて、これらの企業の多くが、XPユーザーのコミュニティ全体を最新のリリースから締め出すことは、ビジネスの自殺の一形態となるでしょう。これらすべてが、1つの説得力のある観察結果になります。GDIは、Windows XPがエンドユーザーコミュニティの重要なコンポーネントを表さなくなるまで、固執する可能性があります。
次に、GDIの永続性を説明する技術的な理由があります。主要なGDIコードモジュール(Windowsアプリケーションに含まれ、最も頻繁に呼び出されるもの)は、完全に移植可能ではありません。Direct2Dはまた、かなりの処理能力とシステムリソースを消費しますが、Direct3Dが提供できないことは何もできません。そして、Direct3Dの使用をスキップすることを選択した人は、通常、この決定を非常に慎重に検討しました。さらに、GDIは、使用されている可能性のあるモニターやプリンターなどの出力デバイスとは独立して機能します。したがって、プログラム内の同じルーチンは、モニター上でグラフィックスをレンダリングし、プリンターに出力することができ、それによってコード(およびその後のメンテナンスとエラーのリスク)を半分に減らすことができます。現在、最も手頃なプリンタの多くはGDIデバイスであり、この状況がすぐに変わる可能性はほとんどありません。
全体はすべての部分の合計以上です
私たちは、WPFとDirect2Dへの変換を、Microsoftによって強制的に推進されている動きであり、不可逆的な技術的前進であると考えています。しかし、すべてが熱くなり、新しいテクノロジーに悩まされている人は、以前の紹介を振り返る必要があります。これについては、この記事で要約します。Windows XPが含まれているので、過去を無視したい場合にのみ、実際に未来に直面することができる十分な数のレガシーテクノロジーがぶら下がっています。しかし残念ながら、これは、780Gおよび785Gのオンボードグラフィックチップによって示されるWindows XPのよく知られた恐怖症など、ほとんどのユーザーが操作する現実を無視します。
ここでパート1のベンチマークを再検討したいと思いますが、今回は独自のカスタムビルドソフトウェアを使用します(読者はこのツールをサイトからダウンロードして、自分のPCで実行することもできます)。多くの人々が古いテクノロジーと見なしているものに最適化されていないドライバーの影響を受ける場合、最も高価なグラフィックカードでさえこれらのテストのいくつかで横ばいになることがわかります。