Betr.: Technische Performance-Optimierungen (Stand 26.08.07)
Um die Performance zu verbessern wurde auf verschiedenen Ebenen Optimierungen vorgenommen:
1. Die JavaScript-Dateien wurden durch Umschreiben komprimiert 2. Die Daten der KVs und LVs werden als XML-Datei komplett geladen (kein Nachladen notwendig) 3. Textdateien werden komprimiert übertragen 4. Alle verwendeten Dateien können vom Browser gecacht werden
Um diese Einsparungen sichtbar zu machen, habe ich den Datenverkehr analysiert. Beim ersten Bild sehen Sie die Messungen (3000kb/s mit dem IE 7) beim ersten Laden der Applikation:
Und hier die Messungen beim erneuten Aufruf der Seite:
Sie können sehen, dass die gesamte Applikation (der Google-Anteil ist hiervon ausgenommen) 317.53 KB in 42 Dateien entspricht. Hierbei wurde durch HTTP-Kompression 58% an Bandbreite gespart.
Beim erneuten Laden wurden lediglich bei 12 Dateien überprüft, ob diese sich geändert hat. Dabei wurde aber keine Datei übertragen, so dass lediglich 2,27 KB (Response-Headers) übertragen wurden.
Weitere Optimierungsmöglichkeiten wären das Zusammenlegen der JavaScript und CSS-Dateien und das Optimieren der Graphikdateien.
Die Performance sollte nun etwas besser sein (das ist aufgrund der Netzschwankungen schwer zu sagen) und es sollte eigentlich weniger Speicher verbraucht werden.
Erreicht wurde das, indem keine XML-Datei mehr nachgeladen werden muss, sondern direkt JavaScript-Code generiert wurde (es entfällt dadurch der Speicherverschnitt durch die XML-Datei und der Aufwand fürs Parsen der Datei).
die Performance ist nun schon deutlich besser als zu Beginn, jedoch an den Rechnern über die ich die Kreisalarm-Map bisher ausprobierte noch nicht mit Google-maps zu vergleichen (dort läuft es deutlich schneller).
Was bei mir ganz schlimm ist: wenn ich auf "Kreisverbände" klicke, geht wirklich erst einmal für gut 15 sec nichts mehr (trotz DSL etc).
Bei der offenen Version gibt es dutzende Adressen zum Anzeigen - das ist daher einfach langsamer als Google-Maps mit einer Adresse ;)
Die interne Version sollte aber deutlich schneller gehen, da dort nur die OVs geladen werden.
Das Nachladen der KVs dauert halt so lang (hat auch mehr mit der Client-Performance zu tun, es werden nur 100 KB nachgeladen). Aber ich denke, dass diese Funktionalität intern eher weniger in Anspruch genommen wird.