NEWS
[Umfrage] VIS Ladezeiten
-
Ich bin von VIS immer mehr genervt weil die Ladezeiten bzw. der Bildaufbau gefühlt immer laangsamer wird. Bevor ich jetzt anfange, an allen möglichen und unmöglichen Stellen zu optimieren würde mich einfach mal interessieren, welche Ladezeiten Ihr so (mit Angabe der Hardware und einer gefühlten Abschätzung der Komplexität Eurer Vis) vom Drücken des "Neu Laden Buttons" bis zum ferttigen Bildaufbau habt. Wenn es bei vielen von Euch auch so schlimm ist werde ich mich wohl nach einer Alternative umsehen müssen.
Meine Vis besteht hauptsächlich aus Buttons (Metro tile und jqui) und jeder Menge Basic Text bzw. Basic HTML und ein paar eCharts Einbindungen. Insgesamt hat meine VIS 27 Seiten.
IO-Broker läuft auf Raspberry 4 mit 4 GB Ram.
Am PC (Firefox) dauert es zwischen 15 und 30 Sekunden ab "Neuladen", wenn man ein geöffnetes Fenster in den Vordergrud holt und auf der Seite Änderugen in der Zwischenzeit vorhanden waren (z.B. Lichter an oder ausgegangen sind) dann kann es auch mal eine Minute dauern, bis alle Änderungen nachgeholt worden sind (Zeitrafferfilm läuft ab)
Auf einem Fire Tablte 10 (11. Generation) dauert es mindestens eine Minute, egal ob mit Silk Browser, Firefox oder Fully. Oft bleibt der Aufbau auch bei "Connecting to Server, loading values " hängern und nur eine mehrmaliges Neuladen hilft. Unter einer Minute schaffe ich es aber nie.Auf einem Fire Tablet 7 (9. Generation) bekomme ich meine VIS überhaupt nicht dargestellt, da habe ich schon ein zweites Projekt dafür gemacht das aus einer einzigen Seite besteht. Da dauert der Aufbau über Fullx Browser ca. eine Minute.
(Alle Zeiten bei Geräten mit WLan direkt neben der Fritzbox ermittelt)
-
@wolfgangfb da das Tablet sooo langsam ist, tippe ich auf ein sehr komplexes Projekt und ein leistungsschwaches Tablet.
Das Frontend muss alles berechnen -
Habe ca. 50 Views in VIS.
Dauert ca. 7 Sekunden vom Aufruf bis alles da ist.
Der Seitenwechsel dauert max. 1 Sek.; manchmal (selten) 3 Sek.Überprüfe deine Hardware und kaufe was aktuelles mit ordentlich ram.
-
@bahnuhr sagte in [Umfrage] VIS Ladezeiten:
Überprüfe deine Hardware
@WolfgangFB
...oder sieh mal in der Browserkonsole ob und wenn, wo es klemmt -
Mich haben die Ladezeiten trotz neuerer Hardware nicht zufrieden gestellt. (Android Tablet mit Fully Browser)
Ich habe mir daher meine Start-View so aufgebaut, dass ich dort zu 90% die Informationen habe die ich benötige.
Ich zeige diese nicht direkt an, sondern die View wird einfach "virtuell" nach rechts vergrössert und ich kann auf die Informationen durch einen "Swipe" ohne in einem Menü navigieren zu müssen einfach zugreifen. Es entstehen dadurch keine zusätzlichen Ladezeiten.Wenn ich dann doch mal was detaillierteres benötige zeige ich dies durch einfache Pop-Ups an.
Nur für Auswertungen oder komplexere Grafiken muss ich navigieren.Grüße
Thomas -
@calliou1234 kannst du das zeigen? Z. B. über Screen2Gif?
-
Ich hätte dazu eine allgemeine Frage. Wäre es irgendwie möglich, dass das Frontend nicht über das Tablet geladen wird, sondern über den Server? Am Server hätte ich viel mehr Kapas....
-
@hansi1234 sagte in [Umfrage] VIS Ladezeiten:
dass das Frontend nicht über das Tablet geladen wird,
???
was meinst du?
Das Tablet ist das Frontend -
@homoran entschuldige. Ich meinte, dass das Tablet wirklich nur als Anzeige fungiert. Quasi als "Monitor"
-
@hansi1234 so funktioniert das nicht.
die vis schickt die Informationen über den anzuzeigenden View als CSS Anweisungen.
Daraus generiert ein Browser das Bild.Wenn du ein Bit-Map eines fullHD Bildes schicken wolltest, in dem jeder Pixel einzel definiert ist, wird das eine Riesendatenflut.
und das bei jeder Änderung neu. -
@wolfgangfb
Technisch gesehen ist der Inhalt eines Projekts mit allen
Zugehörigen views eine html Seite.
Jedes Widget bzw. der zugehörige Adapter bringt dann wieder weitere css und JavaScript Dateien mit, die ebenfalls initial beim Aufruf einmalig geladen werden. Das hat auf jedenfalls Auswirkung auf das RAM und die Performance (wenn da sehr viele große Dateien geladen werden)
Als Nächstes sammelt vis dann alle object ids ein und abonniert diese beim Server, so das der Client (Browser) über Änderungen informiert wird. Wenn hier datenpunkte dabei sind die sehr oft geändert werden und ich sehr viele davon habe, dann wirkt sich das ebenfalls auf die Performance aus.Ansatzpunkte zur Optimierung
Potenterer Client
Gute Netzwerkeinbindung
Reduktion der Anzahl der verwendeten widget-Adapters
Reduktion der änderungshäufigkeit von Daten (müssen sich datenpunkte mehrmals pro Sekunde in der vis ändern? Oder reicht auch 1x pro Sekunde oder 5 Sekunden) -
-
@wolfgangfb ioBroker auf Raspi4 8GB
VIS auf Android Samsung A6 (also schon etliche Jahre alt)
34 Instanzen (zeitweise nur 26 aktiviert)
Objekte: 7217, Zustände: 6019
44 Views
geschätzt einige zig Bindings
VIS-App starten (also "Erst"-Ladung) ca. 13s, neu Laden ca. 10s.
Auf einem Windows-Laptop mit FireFox dauert das Neuladen aus dem VIS-Editor heraus ca. <5s.Darf ich die Frage ergänzen bezüglich Zeiten für VIS-Re-sync?
Hoffe das gilt nicht als OT, denn es geht ja auch um eine VIS Ladezeit:Beim Resync in der App läuft bei mir ein "Ladebalken" zwei mal durch und im Balken werden die Dateinamen meiner genutzten Icons (bei mir png-Dateien) nach einander angezeigt, also
1/143 Pfad/Dateiname
2/143 Pfad/Dateiname
...
Beim 1. Durchlauf lädt er in ca. 1 Minute bis Iconanzahl minus 2 (im Beispiel also bis 141. Dann dauert es mehrere Minuten, bis der Balken bei 143 ankommt.
Die lange Gesamtzeit mag am Alter des Handys liegen. Auf einem deutlich stärkerem/aktuellerem A10 geht es zwar schneller, aber auch dort dauert es insgesamt >1 Minute und es tritt auch das "Hängen" bei Iconanzahl minus 2 auf.
Das "Hängen tritt immer bei Iconanzahl minus 2, egal wieviele Icons man nutzt.
Der zweite Durchgang geht auf beiden Geräten deutlich flotter (<1Minute), zeigt jedoch gefühlt in der Hälfte der Fälle mitten beim Laden ein Popup:
Alert Cannot parse views file "Projektname/vis-views.json"
Der Balken bleibt dann stehen, bis man mit "OK" bestätigt. Dann läuft er zu Ende und es scheint alles zu funktionieren.- Wie lange dauert bei Euch ein Resync in etwa?
- Habt Ihr auch das "Hängen" bei Iconanzahl minus 2 und weiß jemand, wie man das erklären kann?
- Da ein und dasselbe vis-views.json mal mit und mal ohne den Alert geladen / geparst wird, kann es doch eigentlich nicht am vis-views.json liegen - oder. Kennt jemand den Alert oder tritt der nur bei mir auf?
-
@andersmacher sagte in [Umfrage] VIS Ladezeiten:
Habt Ihr auch das "Hängen" bei Iconanzahl minus 2 und weiß jemand, wie man das erklären kann?
was kommt als nächste Datei?
wahrscheinlich die vis-views.json mit richtig viel Daten.
an der knabbert die App so lange. -
@homoran Wenn das "Hängen" erst nach Iconanzahl auftreten würde, wäre das mit vis-views.json eine Erklärung.
Aber, das "Hängen" beginnt bei Iconanzahl-2 die nächste Datei ist dann natürlich Iconanzahl-1 und dann kommt Iconanzahl(-0). Beide Dateien sind eben auch "nur" png-Dateien. Ich bin bisher davon ausgegangen, daß er nicht "mitten zwischen" den png-Dateien die vis-views.json lädt.
Nachdem er Iconanzahl erreicht hat, scheint nichts "furchtbar Belastendes" geladen zu werden, weil er dann zügig den 2. Durchlauf beginnt.
Jetzt wo ich das schreibe, frage ich mich auch noch, warum er überhaupt im 2. Durchgang erneut die png-Dateinamen im Balken anzeigt. Müssen die denn, nachdem sie im 1. Durchlauf geladen wurden, auch noch irgendwie bearbeitet/interpretiert werden? -
@andersmacher sagte in [Umfrage] VIS Ladezeiten:
die nächste Datei ist dann natürlich Iconanzahl-1
und was ist das?
der Dateiname wird doch angegeben. -
@homoran Bei mir lädt er die png-Dateien offenbar nach Dateinamen alphabetisch rückwärts.
Iconanzahl-2 ist da derzeit AUTO.png.
Iconanzahl-1 konnte ich bisher nicht so schnell erkennen, weil sehr schnell auf Iconanzahl(-0) gewechselt wird und dann gleich der 2. Durchlauf beginnt.Daher habe ich das jetzt mal mitgefilmt und mir dann "langsam angesehen".
Ergebnis:
Du hattest den richtigen "Riecher" und meine Annahme (Ich bin bisher davon ausgegangen, daß er nicht "mitten zwischen" den png-Dateien die vis-views.json lädt.) war falsch. Iconanzahl-1 ist tatsächlich die vis-views.json. Daß die nur ganz kurz angezeigt wird kann ich nur erklären, wenn die Anzeige nicht anzeigt, was gerade geladen/bearbeitet wird, sondern wurde. Die Datei Iconanzahl(-0) wird so schnell geladen/bearbeitet, daß die für die Anzeige vis-views.json quasi nur "aufblitzt" und ich fälschlicherweise bisher annahm, daß da eben die "Reihe der png.Dateien zu Ende geführt wird.Danke für Deinen Beitrag! Mein Punkt 2. wäre damit geklärt.
Kannst Du/jemand zu den anderen 2 Punkten auch noch was sagen?:
- Wie lange dauert bei Euch ein Resync in etwa?
- Da ein und dasselbe vis-views.json mal mit und mal ohne den Alert geladen / geparst wird, kann es doch eigentlich nicht am vis-views.json liegen - oder. Kennt jemand den Alert oder tritt der nur bei mir auf?
Edit:
Das was hier als "2." dargestellt wird, habe ich bei mir als "3)" getippt. Offenbar wirkt im Forum ein "Automatismus" für Nummerierungen. -
@andersmacher sagte in [Umfrage] VIS Ladezeiten:
wenn die Anzeige nicht anzeigt, was gerade geladen/bearbeitet wird, sondern wurde
so ist es!
@andersmacher sagte in [Umfrage] VIS Ladezeiten:
warum er überhaupt im 2. Durchgang erneut die png-Dateinamen im Balken anzeigt
dann hast du sie nochmal in einem zweiten Verzeichnis
-
@homoran sagte in [Umfrage] VIS Ladezeiten:
@wolfgangfb da das Tablet sooo langsam ist, tippe ich auf ein sehr komplexes Projekt und ein leistungsschwaches Tablet.
Das Frontend muss alles berechnenDie Tablets sind nicht die allerschnellsten der Welt. Aber: Auf dem kleinen Firetablet 7 lief meine VIS früher (vor ca. einem Jahr) noch halbwegs passabel. Inzwischen habe ich ein Projekt das aus einer einzigen Seite mit vielleicht 10 Widgets erstellt und selbst das wird nicht oder nur sehr langsam geladen. Auf dem Tablet läuft außer der vorinstallierten Software nur Fully Kiosk Browser.
Ich will eigentlich nur an der Wohnungstür den Hauszustand (Fenster, Türen, Lichter) anzeigen, das Garagentor öffnen und alle Lichter ausschalten können. -
@wolfgangfb sagte in [Umfrage] VIS Ladezeiten:
mit vielleicht 10 Widgets erstellt
basic widgets oder Widgets mit allen Schnick und Schnack?
und das Fire Tablet hat auch keine RAM fressenden Updates bekommen?