LabVIEWForum.de
Speicherüberlauf bei "Display aus" - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Speicherüberlauf bei "Display aus" (/Thread-Speicherueberlauf-bei-Display-aus)



Speicherüberlauf bei "Display aus" - Achim - 27.02.2023 10:16

Hallo zuammen,
folgendes Szenario:

- "Hauptschleife" liest Waveforms aus Queue und stellt sie im Graph dar
- Asynchrone DAQ-Schleife liest cDAQ-USB-Chassis/Module aus und schiebt die Waveforms in die Queue
- Das läuft prima und flüssig über Tage...
- Allerdings nur, wenn der der Laptop nicht den Monitor ausschaltet.
- Ich hab mir die Anzahl der Queue-Elemente ausgeben lassen...und wenn man den Laptop sperrt oder wenn der Timeout für den Bildschirm zuschlägt, dann wird die Queue zugeballert. Die restliche Applikation, also das erfassen, läuft immer weiter. Irgendwann ist der Puffer der Hardware voll und es wird ein Fehler ausgegeben.
- Wenn der Monitor wieder aktiv wird, dann kann man sehen, wie die Anzahl der Queue-Elemente ruckzuck wieder abnimmt, ab da wird wieder was augelesen und dargestellt.

Kann mir das einer erklären? Gibts irgendwelche Einschränkungen wegen dem UI-Thread?

Gruß
Achim


RE: Speicherüberlauf bei "Display aus" - Hubert R. - 27.02.2023 16:52

Hallo Achim,

ich hatte mal ein ähnliches Problem. Wenn der Laptop nur mit Akku betrieben wurde.
Eine Queue ist vollgelaufen, weil der Laptop über den Energiesparplan die CPU-Geschwindigkeit stark reduziert hat.
Vielleicht hilft das dir.

Gruß Hubert


RE: Speicherüberlauf bei "Display aus" - GerdW - 27.02.2023 17:32

Hallo Achim,

Zitat:- "Hauptschleife" liest Waveforms aus Queue und stellt sie im Graph dar

- Ich hab mir die Anzahl der Queue-Elemente ausgeben lassen...und wenn man den Laptop sperrt oder wenn der Timeout für den Bildschirm zuschlägt, dann wird die Queue zugeballert. Die restliche Applikation, also das erfassen, läuft immer weiter. Irgendwann ist der Puffer der Hardware voll und es wird ein Fehler ausgegeben.
Wenn es nur um die Darstellung im Graph geht: einfach in der Main-Loop prüfen, wie voll die Queue läuft und bei Bedarf mehrere Pakete abholen, aber nicht darstellen…
Oder: nimm eine lossy queue, da stört es nicht/weniger, wenn sie mal voll läuft…


RE: Speicherüberlauf bei "Display aus" - Achim - 28.02.2023 09:33

Moin...

Danke für die Rückmeldungen!

Unsere "Lösung" ist, alle Energiespar-Modi am Rechner (Laptop) zu deaktivieren...dann läufts.

Gruß
A.