Hauptmenü

Ladezeit...

Begonnen von octek0815, 18 Februar 2017, 13:34:33

Vorheriges Thema - Nächstes Thema

octek0815

Hallo zusammen,

wie lange dauert eigentlich der erste Start eurer Tablet UI Oberfläche?
Bei mir dauert das bei einem Galaxy Tab 2 ca. 1,5 Minuten (Dual Core) und bei einem neueren Medion Tablet mit Quad Core ca. 32 Sekunden.
Sind so lange Ladezeiten normal?

Für Feedback wäre ich sehr Dankbar bzw. was kann man optimieren?

Viele Grüße
Olli

Gunther

Hast Du viele Elemente, die initial geladen werden? Pagebutton mit "prefetch" zum Vroladen von anderen Seiten?

Bei meiner alten Oberfläche mit einigermaßen Content, braucht mein Imac hier mit I7 7 Sekunden.
Bei mir läuft das Ganze auf einem RPI2
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Familienpapi

Ups. Das sind ja Wahnsinns-Zeiten. Bei mir benötigt die große Übersichts-Oberfläche auf allen Endgeräten ca. 5 Sekunden mit der neuen FTUI 2.6, Longpoll mit Websocket. Ein Zimmer mit ein bißchen DrumRum ca. 3-4 Sekunden.
Ich verwende kein Pagetab. Bei mir wird jede Seite beim Tippen frisch geladen.
FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

octek0815

Also es ist nur eine index.html wo alle drin ist. Kein "pagetab" nur verschiede Elemente die unterschiedliche Stati anzeigen.
Dahinter befindet sich in der Regel jeweils ein Push mit Dialogbog mit verschieden weiteren Infos oder Auswahlmöglichkeiten.
Am PC dauert der Ladevorgang ca. 5 Sekunden. Hier mal zwei Bilder...



Gunther

Ist Dein Tablet sonst fix?

Magst Du Deine index.html mal posten?
Da sind ein paar interessante Dinge drin. :-)
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

octek0815

#5
Naja es ist sicherlich nicht das schnellste, aber wie bereits geschrieben hab ich auch noch ein relativ aktuelles 10.1" Medion Tablet, und auch hier benötigt die Seite rund 30 Sekunden bis alles richtig angezeigt wird. Vielleicht hast Du ja ne Idee?

Gern stelle ich meine index.html bereit. Ich muss aber sagen das ich noch nicht final fertig bin.

Familienpapi

Die index.html gehört aufgeräumt oder sogar neu aufgebaut.
Ganz generell benötigt man ab der 2.6 keine style-Anweisungen mehr. Da hat setstate so viel ins CSS gebaut, dass man 95% über class abdecken kann. Den Rest als Ergänzung über separat definierte Klassen in einem eigenen Sheet (z.B. my_narrow-top oder my_big).

Es beginnt schon damit, dass die Breite und Höhe definiert wird und dann noch eine Skalierung im viewport mit drin ist. Longpoll ist deaktiviert, sollte als websocket (auch in fhem.cfg) aktiviert werden. Dann wird mit eigenen CSS Dateien gearbeitet und die von setstate sind auskommentiert, also auch hier nicht die bereinigten und erweiterten CSS Sheets von setstate. Es werden mehrere DIVs ineinander verschachtelt, die eigentlich über mehrere class-Angaben in ein DIV oder in eine table könnten.

Kurz ein Beispiel für einen "sauberen" Header bei V2.6.x:
<!DOCTYPE html>

<!--
   * FHEM Tablet UI
   *
   * UI builder framework for FHEM
   *
   * Version: 2.6.*
   * URL: https://github.com/knowthelist/fhem-tablet-ui
   *
   * Copyright (c) 2015-2016 Mario Stephan <mstephan@shared-files.de>
   * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
   *
   * gridster maximum standard 10" tablet:
       width : 15
       height: 9
   *
   * gridster maximum standard 7" tablet:
       width : 11
       height: 7
   *
-->

<html>
<head>
  <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  <meta name="gridster_cols" content="15">  <!-- 10 Zoll Tablet -->
  <meta name="gridster_rows" content="9">  <!-- 10 Zoll Tablet -->
  <meta name="mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="gridster_disable" content="1">
  <meta name="longpoll_type" content="websocket">
  <meta name="debug" content="0">  <!-- Fehlersuche: 3 -->
  <meta name="lang" content="de">

  <link rel="icon" href="favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" href="css/fhem-familienpapi-ui.css" />

  <script src="js/fhem-tablet-ui.js" defer></script>

  <title>Familienpapi's FTUI</title>
</head>
<body>
.....


Einfach die CSS von setstate anschauen, was da so alles drin steht. Leider ist einiges (noch) nicht dokumentiert. Aber da gibt es schöne Möglichkeiten, um Widget,- Schrift- und Symbolgrößen sowie deren Farben, auch in Abhängigkeiten, zu definieren.

Dann sollte es auch mit der gewünschten Geschwindigkeit funktionieren.

Sorry. Bitte nicht persönlich nehmen. Ich habe nur die index.html mal kurz angeschaut und erst-analysiert. Ich denke, eine genaue Analyse braucht man hier auch nicht durchführen, da gar nicht die Vorgaben und Vorlagen von setstate für FTUI verwendet wurden. Bitte immer so nah wie möglich am Standard - an den Vorgaben der Entwickler - bleiben.
FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

octek0815

#7
Hallo,

ich habe nun deinen Rat befolgt und alle Style Anweisungen entfernt und durch CSS Klassen ersetzt, jedoch leider nicht wirklich mit einer Besserung der Geschwindigkeit.
Weiterhin dautert der Ladevorgang am DualCore Samsung Galaxy Tab 2 10.1" ca. 75 Sekunden und am QuadCore Medion 10.1" Tablet ca. 45 Sekunden.
Angehängt meine neue index.html und meine user-css.

Ich weiß nun wirklich weiter und bin total verzweifelt. Bin drauf und dran auf Tablet UI zu verzichten und zurück zu Floorplan zu kehren.

LG
Olli

setstate

Style-Klassen sollte keinen signifikanten Einfluss auf die Ladezeit haben.

Ich würde nach und nach alle Widgets auskommentieren, bis der Übertäter gefunden ist.


<!--

  <div data-type="label" ....></div>

-->


Das wird ein Widget sein, was sehr viele Daten lädt, oder bei dem unendlich viele Updates auslöst werden.

dt2510

Ich hab' ein ähnliches Problem (allerdings auch jede Menge Popups und Dialoge). Bei mir lädt die Seite zwar verhältnismäßig schnell (2-3 Sekunden), allerdings dauert es machmal eine ganze Weile bis die Icons angezeigt werden. Sieht fast so aus als würde das Laden des Fonts so lange dauern. Ich hab' schon überlegt mal 'ne frische SD-Karte in den Raspi3 zu schieben, vielleicht macht die mittlerweile schlapp ...

Tedious

Irgendwas passt da definitiv nicht. Auf einem ollen IPad2 (und das ist wirklich nicht schnell) dauert das Ganze bei mir vielleicht 3-4 Sekunden....
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...