AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows Thread-Performance wenn minimiert
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Thread-Performance wenn minimiert

Ein Thema von BigAl · begonnen am 12. Sep 2022 · letzter Beitrag vom 5. Okt 2022
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 11:31
Ein "Hintergrund"-Thread läuft doch über den Dispatcher des Main-Threads soweit ich weiß, zumindest unter Windows.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#12

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 11:31
Ok. hab eben mal ein paar anderen Maschinen getestet. Auflösung auf älteren Rechner 16ms auf aktuellen 1ms...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 12:08
Noch einmal:

Wie Windows sein Thread-Scheduling macht ist ein Implementierungs-Detail.

Das kann sich durch ein kleines Windows-Update ändern (und es hat sich in der Vergangenheit auch mehrmals geändert!), oder abhängig von verwendeten Architektur oder gar CPU-Modell sein. Verlass dich da nicht drauf.

Es ist abhängig von der aktuellen PC-Auslastung, welche Anwendung grade im Vordergrund ist (wie du bereits feststellen musstest) und wer weiß was noch.

Wenn dir das Standard-Verhalten (Windows macht, was es für das beste hält) nicht reicht, dann musst du schauen, wie sich das über die Windows-API beeinflussen lässt.

PS: Ich habe keinen Beleg, aber ich glaube Zeiten im Millisekunden-Bereich und darunter zu messen ist das Hantieren mit Fließkommazahlen nicht die beste Methode. Nimm besser eine TStopWatch aus System.Diagnostics .
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 13:37
Und aufpassen, ob du dein Programm aus Delphi (F9) startest, oder von extern.

Die Delphi-IDE fummelt seit einer Weile am SystemTimeAdjustment rum, so dass solche Timer plötzlich schneller/öfters reagieren.


Es gibt mehrere Implementationen von Higher-Resolution-Timers (z.B. im DirectX),
aber so lange man nicht an der Kernzuordnung und Priorität der Threads rumfummelt, kann man ganz kleine Intervalle eh vergessen.



Es ist möglich seinen Thread auf einen Kern zu begrenzen
und wenn man dann noch ALLE anderen aktuellen/zukünftigen Threads ALLER anderern Anwendungen davon ausschließt, dann wäre man dort alleine und hätte theoretisch die volle Zeit zur Verfügung.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (12. Sep 2022 um 13:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
615 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 15:32
Um was für Daten geht es eigentlich? Es gibt ja auch die Möglichkeit ganz auf einen PC zu verzichten.
Ich hatte für sowas mal einen Raspberry PI laufen. Oder man geht noch weiter runter zum Arduino, der kann auch WiFi, wenn er muss.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#16

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 15:35
Um was für Daten geht es eigentlich? Es gibt ja auch die Möglichkeit ganz auf einen PC zu verzichten.
Ich hatte für sowas mal einen Raspberry PI laufen. Oder man geht noch weiter runter zum Arduino, der kann auch WiFi, wenn er muss.
Es geht um die Datenerfassung an einer Industrieanlage. Da hat ein Pi nichts verloren . Die Daten kommen von einer SPS...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 15:39
Und wie kommen die Daten von der SPS?

ComPort und TCP-Stack haben ja einen Cache, womit es garnicht wichtig wäre, dass es schnell und genau getimet gelesen wird ... so lange man nur insgesamt schneller liest, als der Cache voll läuft.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#18

AW: Windows Thread-Performance wenn minimiert

  Alt 12. Sep 2022, 15:45
Und wie kommen die Daten von der SPS?

ComPort und TCP-Stack haben ja einen Cache, womit es garnicht wichtig wäre, dass so oder und genau gelesen wird ... so lange man nur insgesamt schneller liest, als der Cache voll läuft.
Lesen tue ich mit leicht modifizierten Snap7. An einer 1500 schaffe ich damit via gemanagtem Netz ca. 550 Polls pro Sekunde, wobei derzeit nur alle 500 ms gelesen wird (was sich aber zeitweise ändern kann). Ist halt eine Entwicklung. Wie gesagt: Top-Speed wären temporär ein Log alle 100ms. Wenn's schneller werden muss, dann werden die Daten ehe in der SPS mit Zeitstempel versehen. Dann ist die PC-Seite mehr oder weniger egal...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
shebang

Registriert seit: 7. Feb 2020
97 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Windows Thread-Performance wenn minimiert

  Alt 13. Sep 2022, 11:27
Ok. hab eben mal ein paar anderen Maschinen getestet. Auflösung auf älteren Rechner 16ms auf aktuellen 1ms...
Die entsprechende Funktion der Windows API zum Einstellen der Zeit lautet timeBeginPeriod.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Windows Thread-Performance wenn minimiert

  Alt 13. Sep 2022, 12:36
Wie schon gesagt:
Und aufpassen, ob du dein Programm aus Delphi (F9) startest, oder von extern.

Die Delphi-IDE fummelt seit einer Weile am SystemTimeAdjustment rum, so dass solche Timer plötzlich schneller/öfters reagieren.
Danke @shebang für das Schlagwort, denn
https://www.delphipraxis.net/206889-...ml#post1482408
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 00:43 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