... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Konvertieren Route in Track
#17
(24.12.2010, 01:01)stoffel Wrote: Ausgiebiger Test steht noch aus, hier nur noch eine dumme Frage: Warum wird überhaupt während der Punktermittlung neu gezeichnet.

Model-View-Controller ist das Entwurfsmuster, das hinter eigentlich allen UI-Rahmenwerken liegt. Es entkoppelt die Daten (das Model) von den Sichten die Daten (die Views) und den Manipulationsmöglichkeiten (die Controller) auf die Daten. Immer, wenn das Model verändert wird, werden alle Views benachrichtigt, daß sie darauf reagieren. Das ist Stand der Technik. Nur bewege ich mich mit der Karte arg an der Grenze des technisch machbaren: das View (d.h. der Webbrowser mit der Karte) ist "teuer" zu zeichnen, hat große Latenzen, ist schnell instabil und schwer zu kontrollieren. Da steckt inzwischen eine ganze Menge Erfahrung, Knowhow und Tüfelkram drin, daß es trotzdem für die meisten Nutzer ausreichend gut läuft. Das ist ein komplexes Stück Software mit Multithreading, Locks, Signalen, Queues, Deferred Execution, Delayed Execution, Event Aggregation, einer Swing-SWT-Wrapper-Bibliothek, einer SWT-Browser-Komponente, dem Douglas-Peucker-Algorithmus...

(24.12.2010, 01:01)stoffel Wrote: Ist es nicht möglich das Neuzeichnen zu unterbinden bis ALLE Punkte ermittelt sind?

Etwas zum Hintergrund: Die Ermittlung der Punkte ist im Google API asynchron realisiert, d.h. man übergibt Punkte und eine Funktion, die aufgerufen wird, wenn die Punkte berechnet sind. Konkret heißt das, daß man niemals weiß, ob und wann man alle Punkte wirklich hat. Unterbinde ich das Neuzeichnen also, dann weiß ich nicht, wann ich das Neuzeichnen initiieren soll. Ich habe schon ein Zusammenfassen der Benachrichtigungen implementiert, so daß nicht auf jede Änderungsnachricht direkt reagiert wird, sondern es wird maximal alle 500ms neu gezeichnet. Dadurch mußte ich jedoch Ausnahmen einbauen, damit ein Verschieben von Punkten nach Benutzerinteraktionen noch die gewünschte Reaktion hat. Vielleicht kann ich da noch nachlegen.

(24.12.2010, 01:01)stoffel Wrote: Man weiß eigentlich nie wann der Vorgang eigentlich beendet ist.

Das ist m.E. der Kern des Problems: irgendetwas müßte dem Benutzer verraten, ob gerade noch etwas passiert und wie lange es noch dauert. Knifflig, wenn man nicht ermitteln kann, ob noch etwas passiert und wie lange das eventuell passierende noch andauert... ;-)
--
Christian
Reply


Messages In This Thread
Konvertieren Route in Track - by stoffel - 13.12.2010, 13:32
RE: Konvertieren Route in Track - by stoffel - 13.12.2010, 16:31
RE: Konvertieren Route in Track - by stoffel - 13.12.2010, 17:31
RE: Konvertieren Route in Track - by kumo - 13.12.2010, 18:21
RE: Konvertieren Route in Track - by stoffel - 13.12.2010, 23:36
RE: Konvertieren Route in Track - by stoffel - 14.12.2010, 17:10
RE: Konvertieren Route in Track - by stoffel - 18.12.2010, 18:09
RE: Konvertieren Route in Track - by stoffel - 24.12.2010, 01:01
RE: Konvertieren Route in Track - by routeconverter - 27.12.2010, 16:06

Forum Jump:


Users browsing this thread: 1 Guest(s)