![]() |
Producer-Consumer-Struktur - richtig - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Producer-Consumer-Struktur - richtig (/Thread-Producer-Consumer-Struktur-richtig) Seiten: 1 2 |
Producer-Consumer-Struktur - richtig - Y-P - 22.08.2008 13:52 Du hast doch die Werte in einem Schieberegister, d.h. nur der Wert, den Du explizit in Deinem Case überschreibst, wird geändert. Der Rest wird durchgeschleift. Gruß Markus ' schrieb:Aber dann schreibe ich doch immer in alle Controls, auch wenn sich die betreffenden Daten nicht geändert haben (in meinem Beispiel wird auch in Number geschrieben, auch wenn sich nur String geändert hat). Oder macht das nichts, weil LabVIEW merkt, wenn sich die Daten nicht geändert haben und ensprechend nichts tut? Producer-Consumer-Struktur - richtig - Curtis Newton - 22.08.2008 14:10 ' schrieb:Du hast doch die Werte in einem Schieberegister, d.h. nur der Wert, den Du explizit in Deinem Case überschreibst, wird geändert. Der Rest wird durchgeschleift. Ja, aber der Wert wird doch auch in ein Control zur Darstellung geschrieben. Und hier sehe ich ein potentielles Problem. C. Producer-Consumer-Struktur - richtig - Y-P - 22.08.2008 14:20 Welches? ![]() Gruß Markus ' schrieb:Und hier sehe ich ein potentielles Problem. Producer-Consumer-Struktur - richtig - Curtis Newton - 22.08.2008 14:29 Das immer der jeweilige Wert in das Control geschrieben wird, auch wenn sich nichts geändert hat, und das Rechenzeit braucht. Ich meine, natürlich nicht, wenn ich wie im Beispiel eine Zahl und einen String darstelle. Aber wenn z.B. ein 2D-Array dabei ist, welches immer in einen Intensitätsgraph geschrieben wird. Nicht, das es zu aufwendig ist, das immer wieder zu tun. Aber wahrscheinlich geht das so schnell (auch bei mehreren Controls), das es egal ist. C. Producer-Consumer-Struktur - richtig - Y-P - 22.08.2008 14:53 Ich hab' Dir Dein Bsp. um ein 2D-Array mit 5 x 1.000.000 Felder erweitert. Schau's Dir einfach mal an. [attachment=14121] ![]() Gruß Markus Producer-Consumer-Struktur - richtig - IchSelbst - 22.08.2008 15:08 ' schrieb:Ich meine, natürlich nicht, wenn ich wie im Beispiel eine Zahl und einen String darstelle. Aber wenn z.B. ein 2D-Array dabei ist, welches immer in einen Intensitätsgraph geschrieben wird. Nicht, das es zu aufwendig ist, das immer wieder zu tun.Bei einzelnen Werten sehe ich gar kein Problem, die auch im 20ms-Raster ständig, also auch bei Nicht-Änderung, neu anzuzeigen. Bei Anzeige in einem Graphen bin ich da schon vorsichtiger. Die lass ich z.B. nur alle 250ms refreshen. Anmerkungen: Wenn du dir um die Dauer einer Anzeige z.B. eines Zahlwertes am Bildschirm gedanken machst - dann darfst du eigenlich gar nicht Programmieren. Weder LV noch sonst was. Bildschirmausgabe gehört wohl zum Aufwändigsten was es gibt. In Delphi z.B. wird oft der gerade aktuelle Zustand intern hinterlegt. Kommt ein neuer Wert, wird der erst mit dem alten Zustand verglichen. Nur bei Ungleichheit wird was getan. Ich sehe keinen Grund, warum LV das nicht genauso machen könnte. |