AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?
Thema durchsuchen
Ansicht
Themen-Optionen

Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?

Ein Thema von Andy386 · begonnen am 18. Jul 2008 · letzter Beitrag vom 19. Jul 2008
Antwort Antwort
Seite 2 von 2     12   
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?

  Alt 18. Jul 2008, 13:39
Leute, da kommen Messwerte rein und die sollen einigermaßen visualisiert werden. Ich würde die Daten in einen Ringbuffer schreiben und per TTimer z.B. 2-4x pro Sekunde die Werte aus dem Ringbuffer einsammeln und z.B. als Mittelwert darstellen, das reicht doch.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?

  Alt 18. Jul 2008, 13:39
Zitat von negaH:
MMTimer, Multi Media Timer verwenden, der muß exakt sein. Das bedeutet aber auch das deine MMTimer Callback Funktion gewissen kritischen Anforderungen genügen muß.
Auch der MMTimer muss nicht immer genau sein.
Wenn Windows meint, etwas oberwichtiges machen zu müssen (z.B. Speicher auslagern), dann kann auch ein MMTimer mal nicht regelmässig kommen.
Was meinst Du, woher die Ruckler beim CD abspielen herkommen? Da wird nämlich auch der MMTimer genommen. Dafür wurde er sogar erschaffen.

Bei meinem ehemaligen Arbeitgeber haben wir auch den MMTimer verwendet, weil der Ablauf alle 20 ms aufgerufen werden sollte.
Das hat aber oftmals nicht hingehauen mit den 20 ms.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Andy386

Registriert seit: 26. Mär 2008
55 Beiträge
 
#13

Re: Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?

  Alt 18. Jul 2008, 16:02
OK, danke für die vielen Ideen, Tipps und Erfahrungsberichte !
z.Zt. läuft es ganz einfach - nach allen paar Schritten habe ich ein sleep(0) eingefügt, da wird der Aufnehmerthread nicht zu langsam und die Datenausgabe ist ganz passabel (das ganze muss heute abend fertig werden...)

Nächste Woche werde ich mir mal das Event-Konzept anschauen, dann geht's sicher noch schöner. Die Timer bringen mir ja nur bedingt etwas, da die auch wieder Rechenzeit brauchen.

Die Threads werden nicht zeitgesteuert, nur könnten sie alle gleichzeit was tun - es ist also "zu viel" für alle da. Deswegen habe ich Priritäten verwandt, und naja, es geht schon

Also, der Datenholen läuft 1.3ms, sortiert & speichert die Daten in ein Array, der Auswerte kopiert das Array und macht damit div. math. Dinge (mittelwert u.a. -> 20-30ms) und dann kommt der graph., des dauert aber 200-1500ms (je nach Menge der Daten). Ich verwende hier TCharts, lasse die Graphen jedesmal neu Zeichnen, da ich mit .yValue[i]-Änderungen im TChart nur eine Art Stern erzeugen konnte. Scheinbar passt da die Nummerierung nicht so ganz... Da wäre auch ein Änderungsansatz

Nochmal Vielen Dank für die Tipps !
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#14

Re: Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?

  Alt 18. Jul 2008, 18:46
Um noch mal auf das TEvent zu kommen. Das ist eine von vielen Möglichkeiten etwas zu synchronisieren. Ob die jetzt tatsächlich etwas für dich wäre steht auf einem ganz anderen Blatt geschrieben. Das kann ich so auch nicht sagen.

Auf meiner Webseite habe ich ein Multithreading Tutorial. In dem erwähne ich die relativ weit unten mal.

Das kann man zum Beispiel benutzen wenn man etwas berechnet und auf das Ergebniss warten muss. Zum Beispiel. Aber dafür gibts sicher noch sinvollere Anwednungsbeispiele.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#15

Re: Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?

  Alt 19. Jul 2008, 00:29
Guckst Du hier:

http://www.delphi-forum.de/viewtopic.php?t=77746
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#16

Re: Threadproblem - sleep(1) braucht ca. 5 ms! Warum ?

  Alt 19. Jul 2008, 08:53
Zitat von Andy386:
Die Timer bringen mir ja nur bedingt etwas, da die auch wieder Rechenzeit brauchen.
Kannst Du mir das etwas genauer erklären?[/quote]

Zitat von Andy386:
... und dann kommt der graph., des dauert aber 200-1500ms ...
Dann hast du (vielleicht) etwas falsch gemacht:
1. FastLines-Series nehmen
2. Nur einige Werte Zeichnen (wieso alle? Oder sind Alle wirklich wichtig?)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz