Frage

Ich brauche eine Anwendung in .NET CF mit verschiedenen / Einzelformen mit vielen Zeichnen / Animation auf jeder forms.I machen würde es vorziehen, ein einzelnes Update haben, [meine eigene für die staatliche Verwaltung und so weiter] Funktion, so dass ich kann die verschiedenen Zustände verwalten, so dass meine [J2ME Gaming Code] arbeiten ohne viel changes.I haben einige mögliche Szenarien kamen. Welche den man wird perfekt sein?

  1. eine einzige Form haben und fügen Sie / die Steuerelemente manuell löschen, dann eine der gamelooping Tricks verwenden.
  2. Erstellen Sie verschiedene Formen mit Kontrollen und Call-Update und Application.DoEvents () im Hauptthread. [While (isAppRunning) {UPDATE () Application.DoEvents ()}
  3. Erstellen Sie eine Update -. Farbe Schleife auf jeder Form je nach Bedarf
  4. Jede andere Ideen.

Bitte geben Sie mir Vorschlag bezüglich dieser

War es hilfreich?

Lösung

Wenn ihr ein Spiel, dann würde ich die meisten der Formen fallen und mit dem Nötigsten arbeiten, arbeiten, um eine Bitmap, wenn möglich aus und machen, dass entweder durch Überschreiben der paint-Methode Hauptform oder ein Steuerelement, das in ihm wohnt (vielleicht ein Panel). Das gibt Ihnen eine bessere Leistung.

Das Hauptproblem ist, dass der kompakte Rahmen nicht wirklich für viele UI Spaß macht Sie nicht Double-Buffering kostenlos wie in vollen Rahmen, angemessene Transparenz bekommt ist eine Hündin mit WinForm Kontrollen und wenn Sie zu tun festhalten an den UI-Thread für eine zu lange wenig werden Sie ernst Rendering Pannen bekommen. Hölle Sie vielleicht sogar diejenigen erhalten, wenn Sie auf Hintergrund-Threads zu viel zu tun! : O

Sie sind nie eine optimale Leistung von expliziten Aufruf Application.DoEvents gehend zu erhalten, meine Faustregel nur verwenden, die bei der Fehlersuche oder wenig Hacks in der Benutzeroberfläche zu schreiben.

Es könnte sich lohnen, das Spiel auf einem Hintergrund-Thread kleben und dann .Invoke auf der Steuer Aufruf zurück zum Haupt UI-Thread gemarshallt Ihre Anzeige aktualisieren die Benutzeroberfläche mit vieler Zeit läßt auch zu antworten, während Benutzereingabe Handhabung. Benutzereingabe ist ein weiterer Grund, warum ich normale winform Kontrollen zu vermeiden, wie mobile Geräte im Allgemeinen nicht viele Schlüssel haben es sehr nützlich ist, um sie neu zuordnen, so im Allgemeinen ich Dinge wie Textfelder vermeiden, die voreingestellten Tastenereignisse / Antworten haben.

ich auch andere Formen, wie zeigt eine neue Form mit vermeiden würde eine subtile Pause zur Verfügung stellen kann, ich tausche im Allgemeinen Kontrollen zu einem Hauptformular aus um dieses Problem zu vermeiden, wenn Business-Software zu schreiben.

Am Ende des Tages ist es wert wahrscheinlich mit verschiedenen Techniken experimentieren, um zu sehen, was für den besten funktioniert. Auch sehen, ob Sie Tipps von Leuten bekommen, die Spiele auf CF entwickeln, wie ich in der Regel nur Business-Software tun.

HTH!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top