1

フォーム内のコントロールに SlimDX を使用してレンダリングしています。そのコントロールのサイズは非常に頻繁に変更される可能性があり、複雑なメッシュが多数あるため、従来の free-reset-construct メソッドは私の好みでは遅すぎるかもしれません。盛り上げる方法はありますか?

4

1 に答える 1

1

IDirect3DDevice9::CreateAdditionalSwapChain メソッドを使用して、現在のウィンドウにリンクされた追加の SwapChain を作成します。

次に、新しい SwapChain のバック バッファーを取得し、IDirect3DDevice9::SetRenderTarget メソッドを使用して、新しい SwapChain のバック バッファーをレンダー ターゲットとして設定します。

描画が終了したら、IDirect3DDevice9::present の代わりに、新しい SwapChain の present メソッドを呼び出します。

ウィンドウのサイズが変更されたら、追加の SwapChain を解放し、新しいバック バッファー サイズで再作成し、レンダー ターゲットの設定を再度実行するだけです。非常に遅いデバイスのリセットを行う必要はありません。

さらに質問がある場合は、私にメールしてください: xux660@hotmail.com

私は中国人なので、英語があまり上手ではありません、許してください。

于 2013-05-05T17:59:55.957 に答える