mar IO schrieb:
> ... im seperatem Thread. -> Quasi so: die Receive-Methode blockiert
> nicht und der Thread schläft für eine gewisse Zeit, wenn keine Daten
> vorhanden sind. Das soll ca. 15% CPU-Auslastung verursachen, kann ich
> mir fast nicht vorstellen.
Probiers mal selber. Auf meinem eigenen Rechner klappt es auch, aber
nicht auf der Krücke die ich für meine Arbeit benutzen sollte.
> den Buffer optimiert auf Blockgröße der USB-Datenpakete und den FIFO des
> FTDI??? - Versteh ich nicht ganz, was beim Empfangsbuffer auf dem
> Rechner zu optimieren gibt. Nicht zu klein machen, sonst Überlauf...
> Wenn das zu empfangene Datum vom Datenlogger auf dem Rechner übertragen
> worden ist, dann kann man sich mit der Weiterverarbeitung Zeit lassen.
> Datenlogger ist ja nichts zeitkritisches und 100 ms früher oder
> später...
Schau mal bei den AppNotes von FTDI, da gibts nen Thema zu.
Die Weiterverarbeitung ist auch kein Problem, es geht nur um den
Transfer. (Eventuell liegt es gar an der Schnittstelle vom FTDI-Treiber
nach Windoof, und ich beschwere mich Grundlos über MS, wer weiss..)
Wenn man mal mit dem ProcessExplorer o.Ä. zuschaut, sieht man schön an
den I/O-stats, dass Windoof die COM-Port Daten einmal quer durchs System
schiebt, bevor sie im eigenen Programm ankommen.
Zumindest was das Resultat des Ersetzens von knapp 10 Programmzeilen
eine deutliche Reduktion der CPU-Last und eine ununterbrochene
Kommunikation.