最後に、DirectDrawを使用してハードウェアの表面にblitするか、直接マップして直接描画します。最新のWindows上でHWNDに描画する最も速い方法は何ですか?
今日、この方法をお勧めしますか? Direct3D 10/11を使用して同じですか?
編集:私の質問を明確にするため、ソフトウェアラスタライズをいくつか行いたいので、ピクセルデータを直接表示にすばやく転送する必要があります。
最後に、DirectDrawを使用してハードウェアの表面にblitするか、直接マップして直接描画します。最新のWindows上でHWNDに描画する最も速い方法は何ですか?
今日、この方法をお勧めしますか? Direct3D 10/11を使用して同じですか?
編集:私の質問を明確にするため、ソフトウェアラスタライズをいくつか行いたいので、ピクセルデータを直接表示にすばやく転送する必要があります。
最近、デスクトップアプリケーション向けのDirect2Dを使用することをお勧めします。引用:
目的
Direct2Dの2-D ジオメトリの高性能・高品質なレンダリングを提供するハードウェアアクセラレーション、直接モード、2-DグラフィックスAPI であり、ビットマップ、とテキスト。 Direct2D APIは、 がGDI、GDI +、およびDirect3Dとの相互運用性に優れているように設計されています。
要件:Vista以上(各バージョンのサーバーが必要な場合)。
D2Dは主にベクターグラフィックを描画するために使用されます。ビットマップ機能はありますが、確かにVRAMへの直接のパスではありません。 –
この結論にどうやって来ますか?ドライバーがそれをサポートしている場合(認証を取得するために必要なもの)、直接的な方法になります。それとも私はここで何が欠けていますか?ベクトルグラフィックスが主なターゲットであるとは思っていませんでしたが、私は速い構図がD2Dの主なターゲットだと思っていました。率直に言って、あなたが探しているものは私にはっきりしていません:) – 0xC0000022L
Direct2Dはまずテクスチャメモリを経て、ラスタライズによって描画します。これは基本的にDirect3Dのラッパーです。 –
GILを試しましたか? ImageProcessingはかなり高速です。 http://www.boost.org/doc/libs/1_52_0/libs/gil/doc/index.html –
それはまったく無関係です。 –