<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[feature reqeuest: VIS&#x2F;WEB throttling]]></title><description><![CDATA[<p dir="auto">Hallo zusammen,</p>
<p dir="auto">ich versuche gerade vermeintliche Performance-Probleme in Kombination Iobroker-View und Fully Kiosk Browser zu lösen. Nach einiger Laufzeit hinkt die Anzeige der Realität hinterher, insbesondere nach Zeiten, in denen der Bildschirm aus war und danach wieder reaktiviert wird. Das Lag beträgt hier mehrere Sekunden bis über eine Minute. Da Fully von der Android WebView abhängig ist, ist da vermutlich wenig zu machen bzw. das Problem schwer zu lokalisieren.</p>
<p dir="auto">Jetzt wäre die Idee, das Problem für Szenarien, in denen Performance-Engpässe eine Rolle spielen, von hinten aufzuzäumen. Die Ursache für das oben beschriebene Problem ist sicherlich die sich anstauende Kommunikation zwischen Iobroker-Webserver und der angezeigten View. Die Abarbeitung der Nachrichten benötigt Zeit, insbesondere dann, wenn die WebView sich aus irgendwelchen Gründen schlafen legt und erst nach erwachen erst die Abarbeitung wieder aufnimmt. Bei Leistungsschwachen Geräten dauert das lange.<br />
Es wäre daher eine Funktion wünschenswert, mit der man den Traffic und die Aktualisierungsrate hin zu den Views steuern könnte. Also eine Art Throttling. Für Live-Anzeigen, welche auch innersekündich Aktualisierungen darstellen sollen, ist das natürlich nicht zu verwenden. Ich denke aber, dass viele Anzeigen hier nicht so eine hohe Aktualisierungsrate unbedingt benötigen. Hier geht es eher um die schnelle Umsetzung von EINgaben durch den User und weniger um die schnelle anzeige von AUSgaben.<br />
Ich stelle mir die Funktion im Prinzip so vor, dass Serverseitig die Objekte gesammelt werden, welche sich in einem Intervall aktualisiert haben. Ggf. kann man diese Menge auch noch mit den in der View wirklich genutzten Objekten verschneiden. Erst nach Ablauf des einstellbaren Intervalls (in ms) wird der letztgültige Wert an die View übertragen und auch nur, wenn dieser ungleich des Vorgängerwerts ist. Als I-Tüpfelchen könnte man nach User-Input aus der View das Intervall auch noch bei Bedarf kurzzeitig einkürzen oder aussetzen, um die Objektaktualisierungen durch die Usereingabe und ggf. Folgeskripte dann doch direkt darstellen zu lassen.<br />
--&gt; Somit bereiten auch Objekte die sich laufend ändern keine Performanceprobleme mehr, da sie nur alle x ms oder alle x Sekunden an die View zur Verarbeitung gesendet werden. Das spart Performance im Ziel und sogar Bandbreite (falls das ein Faktor ist).</p>
<p dir="auto">Ist so ein Feature umzusetzen? Gibt es das vielleicht schon und ich habe es nur noch nicht gefunden?</p>
<p dir="auto">Viele Grüße<br />
Sebastian</p>
]]></description><link>https://forum.iobroker.net/topic/45483/feature-reqeuest-vis-web-throttling</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 11:29:06 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/45483.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Jun 2021 06:15:09 GMT</pubDate><ttl>60</ttl></channel></rss>