Thema: Delphi Zeitfunktion springt

Einzelnen Beitrag anzeigen

uoeb7gp
(Gast)

n/a Beiträge
 
#4

Re: Zeitfunktion springt

  Alt 17. Nov 2009, 23:24
Hi, Präzision ist abhängig von.

1. Präemtives Multitasking, ein Prozess bekommt folgende Rechenzeit vom Win32 Task-Scheduler zugeteilt.
Bei Desktop OS 15 ms. Server OS 30 msec
D.h. Je mehr Prozesse die Zugeteilte Rechenzeit auch verbrauchen, desto weniger genau arbeitet das Timerevent.
Win32 ist kein Echtzeit-Betriebssystem.
2. Auslastung und Prioritätsboost der einzelnen Prozesse und Threads im System sind zu berücksichtigen.


timeSetEvent bei Verwendung einer Callback Funktion und Priority TIME_CRITICAL des Mainprozesses, ergibt die
größte Genauigkeit, ohne zusätzlich zuviel an Rechenzeit zu verbrauchen.
Parameter uResolution berücksichtigen.

Also eine Genauigkeit im USER-Mode kleiner 15 msec ist nicht ohne die Altagstauglichkeit des OS einzuschränken
möglich. Ring0 implementierungen da mit Delphi nicht ohne Kopfstände möglich, seien mal hinten angestellt.

MMRESULT timeSetEvent(

UINT uDelay,
UINT uResolution,
LPTIMECALLBACK lpTimeProc,
DWORD dwUser,
UINT fuEvent
);

lg.
  Mit Zitat antworten Zitat