2009-03-05 6 views
1

C#でWindowsフォームを使用しているリモートアプリケーション(2人のプレイヤーMagic the Gathering Game)があり、非常に貧しいと感じています モノでのパフォーマンス。パフォーマンスに影響するかもしれないと思うことの1つは、ボタンの背景とフォームの背景(.png)のカスタムイメージがあることです。また、カードイメージ(.jpg)を大量に使用しています。最後に、私は非常に厳密に.NET 2.0に固執しています。Monoでwinformsアプリケーションのパフォーマンスを改善するにはどうすればよいですか?

Windowsを改善するために何を探すことができますかモノでのフォームパフォーマンスですか?これが不可能な場合は、変換に役立つGTKコンバータまたはツールへの簡単なwinformsがありますか?

答えて

5

profile your codeを試しましたか?たぶんそれは、ボトルネックがどこにあるかを示して...

は、私は一つの大きな問題は、.NET実装は、モノ 実装がにC#で書かれているWin32のツールキットに結合 であるのに対し

だと思いますhere

を述べたように、それは複数のプラットフォーム

で作業することができます

MonoのSystem.Windows.Formsは、System.Drawingを使用して実装された です。すべての コントロールは、ネイティブに System.Drawingによって描画されます。 System.Windows.Forms は、 への独自のドライバインターフェイスを実装し、ホストOSのウィンドウ システムと通信します。

hereと記載されている。

winformsからgtk#へのコンバーターについてはわかりませんが、ゲームをgtkに変換して気にしたいのであれば、thisは良い出発点かもしれません。

2

プロファイリングを試しましたか? Monoにはプロファイラが組み込まれています。 There's a page on the mono websiteについては、モノプロファイラとその他のパフォーマンスに関するヒントを参照してください。

4

あなたが観察しているパフォーマンス上の問題を正確に詳しく知ることができれば便利です。

MonoのWindows.Forms実装は、WndProcモデルを正しくサポートするために課された要件の一部によって、現在は少し遅くなっています。

改善の余地があり、Wineのレッスンの多くがMonoのWinforms実装に適用される可能性がある領域です。

+1

こんにちはミゲル正確な問題は私にさえ知られていません...それは本当に遅いです。私は自分自身もモノを集めました。私はそれを実行して見たい場合は私のプログラムを送ることができます。 – kthakore

関連する問題