FHEM Forum

FHEM => Frontends => SVG/Plots/logProxy => Thema gestartet von: rudolfkoenig am 23 Dezember 2019, 21:11:03

Titel: plotEmbed=2 implementiert
Beitrag von: rudolfkoenig am 23 Dezember 2019, 21:11:03
Kurz:
falls das FHEMWEB Attribut plotEmbed auf 2 gesetzt wird (und plotFork entweder nicht gesetzt wird, oder auf 1 steht), dann werden die SVGs ab sofort parallel berechnet.

Lang:
- frueher konnten Browser SVGs nur per <embed> Tag darstellen. Das hat den Vorteil, das (mit gesetzten plotFork) der FHEM-Server die SVGs parallel berechnen kann, und den Nachteil dass die Manipulation (z.Bsp. verschieben) per JavaScript langsam ist/flackert. Um diese Methode zu waehlen setzt man plotEmbed 1

- mit plotEmbed 0 (Voreinstellung) werden die SVGs "inplace" (also ohne <embed> Tag) gerendert. Nachteil: Bei vielen/grossen SVGs dauert das lange, weil ein Prozessor die ganze Seite (== alle SVGs auf der Seite) erst berechnen muss.

- ich habe vor ca einem Jahr versucht plotEmbed=0 zu parallelisieren: mit plotFork=1 und plotEmbed=0 wird die Berechnung der SVG per BlockingCall parallel gemacht. Leider hat das ein Problem: Falls die Berechnung laenger als etwa 90sek dauert, sendet Chrome (warum auch immer) die Anfrage nochmal. Da das "Haupt-FHEM" mit plotFork=1 nicht blockiert ist, wird die Berechnung erneut angestossen, und das Ergebnis verwirrt sowohl FHEMWEB, wie auch Chrome. Details siehe hier (https://forum.fhem.de/index.php/topic,91956.msg849642.html#msg849642).

- mit plotEmbed=2 sollte das Problem geloest sein. Das "Haupt-FHEM" erstellt die Seite ohne die SVGs, und der Browser bestellt jetzt ueber JavaScript die SVGs einzeln nach, was parallelisiert werden kann.

Ich habe vor plotEmbed=2 als Voreinstellung einzufuehren, wenn keine Probleme auftauchen.
Titel: Antw:plotEmbed=2 implementiert
Beitrag von: Nestor am 26 Dezember 2019, 20:10:06
I had previous config with plotembed and plotfork set to 1, because Fhem froze when calculating rooms with multiple graphs. The new plotembed=2 seems to work fine here, with the advantage of not forking additional Fhem processes. Good stuff!
Titel: Antw:plotEmbed=2 implementiert
Beitrag von: Icinger am 26 Dezember 2019, 21:24:54
Funktioniert super, Seiten mit mehreren Diagrammen werden jetzt viel schneller aufgebaut.
Einziger Wermutstropfen bislang:
Die Farb-Einstellungen vom Flex-Style werden nicht übernommen, sondern die Standard-Farben verwendet.
Darum muss ich aber vmtl. eher der Flex-Author kümmern, oder?

Schönen Abend noch,

Stefan
Titel: Antw:plotEmbed=2 implementiert
Beitrag von: rudolfkoenig am 27 Dezember 2019, 10:45:38
Zitat
The new plotembed=2 seems to work fine here, with the advantage of not forking additional Fhem processes.
Sorry to disappoint you, but plotEmbed implies plotfork=1 (if plotfork is not set expicitely to 0), and it forks off FHEM processes for rendering the SVG just the same as plotEmbed=1 with plotfork=1

Titel: Antw:plotEmbed=2 implementiert
Beitrag von: Maista am 27 Dezember 2019, 11:52:33
Moin,

Funktioniert bei mir auch flott.
20 Bilder auf einer Seite mit einem Rpi3B.
Browser ist Opera.

Danke.

Gerd