29.09.2011, 15:59
Seiten: 1 2
29.09.2011, 16:07
Interessant. Theoretisch ist der einzige Unterschied, dass die automatsiche Fehlerbehandlung wegfällt. Laut eines ex-NI-Mitarbeiters ist der Performancegewinn 1-2%.
02.10.2011, 10:17
Hallo,
so - jetzt ist es an der Zeit mich zu bedanken: hab es nicht so wirklich geglaubt - das bringt wirklich etwas:
Ich habe aus der Erfassungsloop alles hinausgeworfen was nicht unmittelbar gebraucht wird - also geblieben ist der Grab und die 2 Positionsbestimmungen
Dann habe ich mir einen Stack mit n erfassten Datensätzen geschrieben ( also den Referenzen zu den Bildern und den numerischen Positionen) mit den Modes:
ini: da erzeuge ich die Bildreferenzen
reserve place: da reserviere ich mir einen Platz - für die Kamera hole ich mir eine freie Bildreferenz
store info: ich habe ja einen freien Platz und schmeiße meine Daten hinein & de-reserviere
get info: na gut holen und freigeben
status: ist was zum Arbeiten da?
Damit produziere ich auch absolut keine Array- und Aufräumaktionen.
Die Datenerfasungsschleife ist als timed Loop ausgeführt mit zugewiesener CPU und Priorität 60000. Kann man einer while-Loop eine Priorität geben?
Und dann kam ein aha-Erlebnis: die FP-Anzeigen brauchen, auch wenn ich die Anzeigeschleife ohne explicite Priorität laufen lasse, offensichtlich manchmal Zeit mit hoher Priorität. Also alle laufenden Anzeigen abschalten - vor allem die Bilderanzeige und Kurven. So bin ich 10% unter den Max-fps der Kamera gekommen - ich fahre ja getriggert.
Ja und dann hatte ich noch immer Aussetzer - wenig aber immerhin - und das war das schlichte Verschieben der Windows etc. Also alle Fenster schließen (es zieht) und ab geht die Post
Danke Euch
Gottfried
so - jetzt ist es an der Zeit mich zu bedanken: hab es nicht so wirklich geglaubt - das bringt wirklich etwas:
Ich habe aus der Erfassungsloop alles hinausgeworfen was nicht unmittelbar gebraucht wird - also geblieben ist der Grab und die 2 Positionsbestimmungen
Dann habe ich mir einen Stack mit n erfassten Datensätzen geschrieben ( also den Referenzen zu den Bildern und den numerischen Positionen) mit den Modes:
ini: da erzeuge ich die Bildreferenzen
reserve place: da reserviere ich mir einen Platz - für die Kamera hole ich mir eine freie Bildreferenz
store info: ich habe ja einen freien Platz und schmeiße meine Daten hinein & de-reserviere
get info: na gut holen und freigeben
status: ist was zum Arbeiten da?
Damit produziere ich auch absolut keine Array- und Aufräumaktionen.
Die Datenerfasungsschleife ist als timed Loop ausgeführt mit zugewiesener CPU und Priorität 60000. Kann man einer while-Loop eine Priorität geben?
Und dann kam ein aha-Erlebnis: die FP-Anzeigen brauchen, auch wenn ich die Anzeigeschleife ohne explicite Priorität laufen lasse, offensichtlich manchmal Zeit mit hoher Priorität. Also alle laufenden Anzeigen abschalten - vor allem die Bilderanzeige und Kurven. So bin ich 10% unter den Max-fps der Kamera gekommen - ich fahre ja getriggert.
Ja und dann hatte ich noch immer Aussetzer - wenig aber immerhin - und das war das schlichte Verschieben der Windows etc. Also alle Fenster schließen (es zieht) und ab geht die Post
Danke Euch
Gottfried
Seiten: 1 2