私の新しいアプリケーションは、透明なアイコン/画像などを使用してオンザフライでサイズ変更できる豊富なインターフェイスを備えています。このアプリケーションでは、古き良き GDI に対して新しいDirect2D API を使用することを決定しようとしています。欠点の 1 つは、もちろん、XP で実行できないことですが、決定するのに少し厄介な問題があることがわかりました。
Direct2D 環境でテキストを出力すると、少しぼやけて見えることに気付きました (ただし、機能として販売されています)。ハードウェア アクセラレーションを有効にした Firefox 4 (または IE9) のテキストを見てください。Direct2D では、GDI のようにテキストが (ピクセル) グリッドに準拠していないことが原因のようです。Direct2D を強制的にピクセル グリッドに準拠させて、この問題を解決する方法はありますか?
本当にそんなに速度が向上するのでしょうか? 私はこの記事を理解しようとしましたが、Windows 7 と XP (Vista ではありませんか?) では、GDI は可能な限りハードウェア アクセラレーションが既に行われています。たとえば、私のアプリケーションでは、適切な場所に配置されたばかりの多くのメモリDCを使用し、
BitBlt
透明な画像/アンチエイリアス線などを描画するためにAlphaBlend
. ルーチンのテスト中に速度を測定したので、最後の 1 つは間違いなくハードウェア アクセラレーションです。
では、どこにお金を入れますか?Direct2D は手間をかける価値があるか、それとも古き良き GDI に固執しますか? それとも何か他のものを提案しますか?
注: 私は C++ でプログラミングしていますが、MFC は使用していません。