4

C# で Direct2D を使用して、研究プロジェクト用の小さな GUI フレームワークをレンダリングしています。Windows や DirectX での作業にはあまり慣れていません。Windows フォーム コントロールを使用してレンダー ターゲットを作成していますが、msdn は BindDC を使用しているため、レンダリング ターゲットが大きくなるほどパフォーマンスが低下することを警告しています (最大化すると劇的な違いであることが判明しました)。ウィンドウ、私は約15 fpsを取得します)。

Direct2D のレンダー ターゲットを作成するより良い方法は何でしょうか? 最初にコントロールのバッファにレンダリングしてからレンダリングするのではなく、ウィンドウを作成して直接レンダリングする方法はありますか? もしそうなら、どのように?

私の母国語ではなく、英語が下手でしたら申し訳ありません。

4

1 に答える 1

2

コントロールの Handle プロパティを使用して、代わりに CreateHwndRenderTarget を使用できるはずです。完全に正しく行うには、独自のコントロールを作成し、OnHandleCreated() メソッドをオーバーライドします。OnPaintBackground() をオーバーライドして何もしません。

于 2010-04-16T12:12:31.727 に答える