2009-03-05 3 views
1

Ich habe eine Remoting-Anwendung (2 Spieler Magic the Gathering Game) mit Windows Form in C# und ich sehe sehr schlecht Leistung in Mono. Eine Sache, an die ich denke, dass die Leistung beeinträchtigt wird, ist, dass ich benutzerdefinierte Bilder für Schaltflächenhintergrund und Formularhintergründe (.png) habe. Außerdem verwende ich stark Kartenbilder (.jpg). Zuletzt habe ich mich sehr streng an .NET 2.0 gehalten.Wie kann ich die Leistung der Winforms-Anwendung in Mono verbessern?

Worauf kann ich achten, um Windows Form Performance in Mono zu verbessern? Wenn das nicht möglich ist, gibt es eine schnelle Winforms zu GTK # Converter oder Tool, die bei der Konvertierung hilft?

Antwort

5

Haben Sie versucht, profile your code. dass zeigt Ihnen vielleicht, wo die Engpässe sind ...

denke ich, ein großes Problem

Während die .Net-Implementierung ist ein zu dem Win32-Toolkit zu binden, die Mono Implementierung in C# geschrieben wird erlauben es

als here und

erwähnt auf mehreren Plattformen zu arbeiten

System.Windows.Forms in Mono ist implementiert mit System.Drawing. Alle Steuerelemente werden nativ durch System.Drawing gezeichnet. System.Windows.Forms implementiert seine eigene Treiberschnittstelle zu kommunizieren mit dem BetriebssystemBetriebssystem.

wie beschrieben here.

Ich weiß nicht von einem Konverter von Winforms zu GTK # ..., aber wenn Sie sich wirklich mit der Konvertierung Ihres Spiels zu gtk # beschäftigen wollen, könnte this ein guter Ausgangspunkt sein.

4

Es wäre nützlich, wenn Sie genau angeben könnten, welche Leistungsprobleme Sie beobachten.

Monos Windows.Forms-Implementierung ist ein bisschen heute langsamer aufgrund einige der gestellten Anforderungen, indem Sie versuchen, die WndProc Modell richtig in sie eingebettet zu unterstützen.

Es ist ein Bereich, der verbessert werden könnte und wahrscheinlich viele der Lehren aus Wein zu WinForms-Implementierung Mono angewandt werden könnte.

+1

Hallo Miguel Die genauen Probleme sind mir selbst unbekannt ... Es ist nur sehr langsam. Ich habe sogar selbst Mono kompiliert. Ich kann Ihnen mein Programm schicken, wenn Sie es ausführen und sehen möchten. – kthakore

Verwandte Themen