2

背景: 現在、C# プロジェクト内でカスタム コントロールを使用しています (カスタム ルック アンド フィールを描画するだけの基本コントロール (gdi+ を使用))。これらのコントロールの大部分には、不規則な形状などの透明なセグメントがあります。

問題: コントロールのグループの上に半透明 (不規則な形状) のパネルを重ねようとしています。現在、カバーパネルを関連するコントロールの領域にクリップします。これは正常に機能し、結果は良好に見えますが、プロセスは非常に遅いです。

質問: 少し遅い CPU に頼るのではなく、OpenGL/DirectX を少し混ぜてビデオ カードに必要なすべてのレンダリングを実行させることで、レンダリング プロセスを高速化する方法はありますか?

4

3 に答える 3

3

私の知る限り、GDI+ と OpenGL/DX を実際に混在させることはできません。

パフォーマンスが低下し、それがコードではなく GDI+ のボトルネックであることが確実な場合は、 GDI+ を捨てて DX/OGL に置き換えるのが理にかなっている可能性があります。(ただし、独自のコントロールを作成する必要がありますが、これは @$$ では大きな問題になります)

または、より簡単な方法として、WPF/Silverlight を試してみてください。デフォルトでカスタマイズ可能でスキン可能で、DX に基づいています。

于 2008-11-07T09:23:28.103 に答える
2

WPF と Silverlight を見てください。夜はよく眠れるでしょう。

于 2008-11-07T22:19:17.743 に答える
0

コントロールで DoubleBuferring をオンにして、パフォーマンスが向上するかどうかを確認しましたか?

http://www.codeproject.com/KB/graphics/DoubleBuffering.aspx

于 2008-11-07T16:32:10.267 に答える