AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delay

Ein Thema von himitsu · begonnen am 7. Aug 2012 · letzter Beitrag vom 17. Sep 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#11

AW: Delay

  Alt 13. Sep 2012, 23:47
Ehrlich gesagt: Ich halte dieses Delay für grossen Mist!

http://support.microsoft.com/kb/172338/de
Zitat:
...
Wenn Ihr System Zähler mit hoher Genauigkeit unterstützt, können Sie "QueryPerformanceCounter" und "QueryPerformanceFrequency" verwenden, um äußerst genaue Zeitmessungen durchzuführen.
Jo, man macht im Mikrosekunden bis Nanosekundenbereich per QueryPeformanceCounter Messungen die durch den Betriebsystem-Tasksheduller nur mit 20 Millisekunden Genauigkeit aufgerufen werden. Das nenn ich dann idiotischen Schwachsinn.

Man hat also eine Atomuhr bei der der Beobachter nur alle +-20 Millisekunden die Zeit ablesen tut.


Gruß Hagen
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#12

AW: Delay

  Alt 14. Sep 2012, 07:30
Das kommt auf die Implementierung an. Mit QPC kann ich wieder nanosekundenlang warten. Ok, blockierend, aber dafür extremstens(!) genauestens(!!1!EINS)

Ich lass mir doch mein Delay des 21.Jahrhunderts nicht durch Abarbeiten der MSQ ad absurdum führen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#13

AW: Delay

  Alt 14. Sep 2012, 10:39
Programme laufen nicht durchgehend.
Sie werden über den Task Scheduler immer mal wieder angehalten, bzw. sie bekommen nur abechselnd ein paar Millisekunden lang Rechenzeit.
Wenn Windows das Programm kurz vor dem Messen schlafen legt, dann kann man die berechnete Pause so klein machen, wie man will ... die Messung geschieht erst bei der nächsten Bearbeitung und das kann unterschiedlich lang mehrere Millisekunden dauern, je nach Systemauslastung und Priorisierung.

Auch braucht das Verarbeiten der Messages (egal ob NonVCL oder über ProcessMessages) auch seine Zeit, sodaß man die Schleife sowieso nicht immer ganz geneu abbrechen kann.
$2B or not $2B

Geändert von himitsu (14. Sep 2012 um 10:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#14

AW: Delay

  Alt 16. Sep 2012, 20:20
Das kommt auf die Implementierung an. Mit QPC kann ich wieder nanosekundenlang warten. Ok, blockierend, aber dafür extremstens(!) genauestens(!!1!EINS)

Ich lass mir doch mein Delay des 21.Jahrhunderts nicht durch Abarbeiten der MSQ ad absurdum führen.
Doch das tust du denn du hast im Normalfalle garkeinen Einfluß darauf. Nur wenn du einen Kernelmode Treiber programmieren könntest kämst du zumindest auf Betreibsystemebene nahe an das dran was du dir da erträumst. Aber dann hast du noch die Hardwareebene bestehend aus Non Maskablen Interrupts und den vielen anderen IRQs usw. die ebenfalls Prozessoraufmerksamkeit auf sich ziehen. Auch diese müsstest du unterbinden können, was theoretisch auch geht. Hast du das geschafft dann fehlt noch alles was CPU Latenzen/Waitstates erzeugen könnte wie Caches, DMA Transfers usw. Und das geht letzendlich nur durch direkte Eingriffe in die HW-Architektur. Mit anderen Worten: das Windows kein predictables OS ist liegt in der HW begründet. Du wirst es nicht schaffen mit einfachen CPU Zählern ein echtes und genaues Zeitmanagement in Nanosekunden Auflösung hinzubekommen. Sowohl nicht in der Reaktionszeit deines Codes auf diese Zähler noch bei der zeitexakten und unterbrechungsfreien Ausführung deines Codes.

Gruß Hagen

Geändert von negaH (16. Sep 2012 um 20:22 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#15

AW: Delay

  Alt 17. Sep 2012, 07:55
Ich bin da nicht der richtige Ansprechpartner. Mir ist das alles schon klar.
Ich hätte wohl mehr und und in meinen Beitrag streuen sollen.
  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 17:51 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