Frage

Ich versuche, einige Knicke in einer Multi-Touch-Anwendung zu arbeiten, ich aufgebaut haben. Es verwendet flosc mit einem XML-Socket-Server zu kommunizieren, der die Multi-Touch-Ereignisse sendet.

Das alles funktioniert schön und gut für die meiste Zeit.

Aber wenn ich bin gemein und überfluten sie mit Multi-Touch-Ereignisse kann der Blitz nicht mit Parsen der Eingabe halten, und der Sockel hält nur Daten bekommen, die Pfähle, bis sie entweder einholt oder die ganze Sache stürzt ab.

Ich habe keine Eingabe Problem Wegwerfen sobald es zu viel *, aber ich habe Probleme, eine kluge Art und Weise der Ausarbeitung, es zu tun.

* Die App funktioniert 6-10 gleichzeitige Eingaben ohne Probleme, beginnen die Dinge haarig zu bekommen, sobald ich mit 20+ zu tun haben, was im Grunde bedeutet, dass jemand auf dem Tisch liegen;)

War es hilfreich?

Lösung

Wo erstickt es? Zunächst möchte ich mit dabei einige Analyse beginnen.

Profil des "Server":

  • , wie viel Zeit es nimmt XML-Codierung zu tun?
  • , wie viel Zeit es nimmt an der Steckdose vollständig zu schreiben?

Profil des Clients:

  • Wie viel Zeit nimmt er die Daten aus der Steckdose zu lesen?
  • Wie viel Zeit nimmt es die XML zu entschlüsseln?

persönlich für so etwas würde ich vermeiden, XML, wenn Sie könnten, und / oder versuchen, zu faul-decode die XML (es tun, wenn Sie wissen, dass Sie es brauchen ..., so dass Sie XML-Chunks weg, ohne cpu verschwenden Zyklen werfen kann, wenn Ihr Programm wird immer überlastet).

Ich würde versuchen, mit einer rohen Socket-Klasse zu gehen http : //www.adobe.com/livedocs/flash/9.0/main/00000318.html#wp128960 und eine individuelle Paketformat, ein Array, in dem jeder Index relevante Daten enthält. in psudocode:

messageArray = [message type, arg0, arg1, arg2...];

so dass Sie möglicherweise ein ‚Maus bewegt Ereignis‘ definiert haben, wie:

MessageConstants.MOUSE_MOVE = 0; // or whatever id you want

messageArray = [MessageConstants.MOUSE_MOVE, mouseDeltaX, mouseDeltaY];

Verwenden Sie dann AMF http://en.wikipedia.org/wiki/Action_Message_Format serialisiert werden die Daten über den Draht.

Hope, das hilft.

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