Gut - mit den Zahlenwerten kann ich etwas anfangen. 13 Sekunden sind definitiv zu lang. Dauert das Laden besonders lang, wenn man von einer Seite mit Grafiken zu einer anderen Seite navigiert, oder ist die Navigation zu einer Seite mit Grafiken besonders lang?
Zur Analyse würde ich als erstes im Treiber ./driver/io_fhem.js den Loglevel auf 2 stellen. Zusätzlich bitte ab Zeile 543 in die stopseries-Funktion die Log-Ausgabe einbauen:
stopseries: function () {
// TODO
io.log(2, "[io.fhem:] Series cancelling not yet implemented");
},
Im iPad muss man dann die Website-Daten für smartVISU löschen. Sicher ist sicher: auch bei anderen Browsern die Historie für smartVISU löschen. Den smartVISU-Cache natürlich auch - wobei man den dann wieder füllen sollte, indem man zu einigen Seiten navigiert, die man für die Tests verwenden möchte. Wenn das gemacht ist, ruft man in den Entwicklertools die Konsole auf und navigiert zu den Seiten, die man testen will.
smartVISU holt die Seiten aus dem Cache. Das sollte flott gehen. Danach wird der Websocket initialisiert und die Daten beim Backend angefordert. In der Konsole sieht das so aus:
monitor (Items: <n> Series <m>)
Dabei ist n die Anzahl der angeforderten Items und m die Anzahl der angeforderten Serien. Wenn der Websocket antwortet, erscheint
socket.onmessage: data= ....
und danach alle vom Backend gesendeten Daten. Hier ist interessant, wieviel Zeit zwischen diesen Ereignissen vergeht und ob der Websocket zwischendurch geschlossen und neu gestartet wird.
Könnt Ihr das mal testen und vor allem beobachten, was während des "Freeze" in der Konsole passiert? Wenn man zusätzlich "Anfragen" und "XHR" aktiviert, sieht man dort auch die Ladezeiten.
Gruß
Wolfram