Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Thread Aufrufzeit vom Windows Sheduler (https://www.delphipraxis.net/190891-thread-aufrufzeit-vom-windows-sheduler.html)

haentschman 17. Nov 2016 11:03

AW: Thread Aufrufzeit vom Windows Sheduler
 
Moin...8-)
Zitat:

Der Hintergrund ist, das über eine extra Steckkarte im PC, Werte in dieser Karte < 1ms aktualsiert.
...
Zitat:

Ja ich will alle Daten haben zum späteren auswerten.
...das klingt nach einem nicht lösbarem Vorhaben. :? Das geht nur über das Puffern in der Karte...wenn sie das anbietet.

Warum mußt du Werte < 1ms auswerten?

Luckie 17. Nov 2016 11:08

AW: Thread Aufrufzeit vom Windows Sheduler
 
Zitat:

Zitat von AJ_Oldendorf (Beitrag 1353945)
Ja ich will alle Daten haben zum späteren auswerten.
Volllast den Thread laufen lassen kann ich nicht, da das eigentliche Programm noch mehr Threads hat und auch eine Visu. Das soll ja alles weiterhin laufen.

Das ist ein Widerspruch, der sich nicht lösen lassen wird. Wenn die GUI reagieren soll, benötigt sie auch Rechenzeit. Wie hast du dir das vorgestellt?

AJ_Oldendorf 17. Nov 2016 14:00

AW: Thread Aufrufzeit vom Windows Sheduler
 
Sorry habe mich da bisschen falsch ausgedrückt.
Ich möchte so schnell wie möglich die Daten haben (so wie es eben geht).
Wenn die GUI mal blocken sollte, habe ich eben Pech. Aber wenn das OS und der Rechner <15ms könnten, dann möchte ich das eben auch versuchen zu schaffen ;-)

Aviator 17. Nov 2016 14:21

AW: Thread Aufrufzeit vom Windows Sheduler
 
Du hast die Frage ob die Karte puffern kann noch nicht beantwortet. Das wäre interessant zu wissen. Weil dann wäre es ja theoretisch egal wie schnell du abrufst. Dann könntest du in einem normalen Zyklus bleiben sodass auch die Anwendung nicht einfriert weil die CPU zu 100% ausgelastet wäre.

t.roller 17. Nov 2016 15:25

AW: Thread Aufrufzeit vom Windows Sheduler
 
timeBeginPeriod

Oh - steht schon in #2...
Beispielaufruf: timeBeginPeriod(1);

Zitat:
Call this function immediately before using timer services, and call the timeEndPeriod function immediately after you are finished using the timer services.

You must match each call to timeBeginPeriod with a call to timeEndPeriod, specifying the same minimum resolution in both calls. An application can make multiple timeBeginPeriod calls as long as each call is matched with a call to timeEndPeriod.

t.roller 20. Nov 2016 10:09

AW: Thread Aufrufzeit vom Windows Sheduler
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von AJ_Oldendorf (Beitrag 1353906)
Hallo zusammen,
ich habe 2 relativ schnelle Notebooks (CPU, RAM, SSD usw.), beide Windows 10 (inkl. Anniversary Update).
Hardware unterschiedlich. Kann wenn nötig, näher spezifiziert werden.

Folgender Code verhält sich unter beiden Rechnern unterschiedlich...

Man kann beide Computer mit einem einfachen Programm vergleichen:
ClockRes

Ergebnis:
MAXIMUM TIMER
MINIMUM TIMER
CURRENT TIMER

siehe Anhang.

t.roller 20. Nov 2016 15:38

AW: Thread Aufrufzeit vom Windows Sheduler
 
Liste der Anhänge anzeigen (Anzahl: 2)
SetTimerResolution im Anhang.

AJ_Oldendorf 20. Nov 2016 21:20

AW: Thread Aufrufzeit vom Windows Sheduler
 
Clockres und settimerresolution gucke ich mir mal an.

Nein die Karte kann nicht puffern.

Ich habe es mit timeBeginPeriod gelöst.
Das scheint gut zu klappen und reicht für meine Zwecke.

Danke nochmals


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz