22.08.2008, 13:52
(Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2008 13:52 von Y-P.)
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Producer-Consumer-Struktur - richtig
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?
Danke!
C.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
22.08.2008, 14:10
|
Curtis Newton
LVF-Gelegenheitsschreiber
Beiträge: 132
Registriert seit: Apr 2008
8.5
2008
de
14***
Deutschland
|
Producer-Consumer-Struktur - richtig
' 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.
Gruß Markus
Ja, aber der Wert wird doch auch in ein Control zur Darstellung geschrieben. Und hier sehe ich ein potentielles Problem.
C.
|
|
|
22.08.2008, 14:20
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Producer-Consumer-Struktur - richtig
Welches?
Gruß Markus
' schrieb:Und hier sehe ich ein potentielles Problem.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
22.08.2008, 14:29
(Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2008 14:30 von Curtis Newton.)
|
|
|
22.08.2008, 14:53
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Producer-Consumer-Struktur - richtig
Ich hab' Dir Dein Bsp. um ein 2D-Array mit 5 x 1.000.000 Felder erweitert.
Schau's Dir einfach mal an.
ProducerConsumerEvents.vi (Größe: 29,15 KB / Downloads: 256)
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
22.08.2008, 15:08
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Producer-Consumer-Struktur - richtig
' 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.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
| |