Windows XP をサポートしたい場合は、"レガシー" オペレーティング システムをサポートしていることになるため、"レガシー" グラフィックス フレームワークを使用することが論理的な選択です。
それが真実ではなかったとしても、リンクされた MSDN の記事で与えられたアドバイスには同意できないとだけ言っておきましょう。ここでの「レガシー」ステータスは、Windows チームが今週どのテクノロジをクールだと考えるかに関係しています。「obsolete」というステータス指定は、担当グループがもはやバグ レポートを受け入れていない、または実行していないことを意味します (重大なセキュリティ問題を除く)。大したことではありません。これらのテクノロジは十分に長く使用されているため、機能が十分に充実しており、安定しています。
GDI はどこにも行かないので、どこでもどこでもサポートされることが保証されている堅牢なものが必要な場合は、それを使用します。
GDI が提供するものよりももう少し 2D 機能が必要な場合 (たとえば、アルファ チャネルの透過性)、GDI+ の使用を検討できます。これは GDI よりもほぼ 1 桁遅いですが、必要以上のパワーを備えた最新のマシンではそれほど大きな問題ではありません。これもまた、非常に長い間サポートされる予定です。
とはいえ、今日新しいアプリを作成する場合、OpenGL を気にすることはないでしょう。Microsoft が GDI/GDI+ の代替として推進している Direct2D と DirectWrite に勝るメリットはほとんどありません。私が知る限り、Direct2D/DirectWrite は Vista 以降でのみサポートされているため、どうしても Windows XP をターゲットにする必要がある場合は、OpenGL を使用する利点があるかもしれませんが、それは (最初に述べたように) Windows XP が真っ向から「レガシー」または「時代遅れ」のキャンプ自体。あるいは、すでに OpenGL をよく知っていて、Direct2D/DirectWrite を学ぶ時間や意欲がない場合は、新しいアプリケーションで引き続き OpenGL を使用するのが理にかなっているかもしれません。
MSDN の記事の言葉遣いに驚かないでください。利用可能なすべての情報を考慮して、特定のユース ケースに最も適したテクノロジを選択してください。これらのテクノロジのいずれかが完全になくなるまでには、他の多くの理由でアプリを完全に書き直す必要があります。
編集:うーん、DirectWriteも(少なくとも一部の人々によって)「廃止」と宣言され、Direct2Dに置き換えられたようです。おかしなことに、私がそれを学習するのに十分な時間はありませんでした。これは、「時代遅れ」というのは単に特定のテクノロジが現在 Microsoft の開発者によって流行していると見なされているものではないことを示しているという私の以前の主張を裏付けるものだと思います。
私は個人的に、アプリケーションの切り替えを行う前に、すべてのバグが解決されるまで (そして、半永久的な標準を決定するまで) 待っています。私が見た DirectDraw や Direct2D で書かれたものはすべて、レンダリングに重大なバグがあり、パフォーマンスの悪夢でした。確かに、彼らは適切な条件下で時々現れるだけですが、それは私には多すぎます. そして、ぼやけたテキストが常に表示されることを誓います。画面の内容を読み取れないことは、私にとってもユーザーにとっても致命的です。GDI にはこの問題はなく、どこにも行きません。