mikrosekundove intervaly v Delphi5

vicek.radek@ozjc.cpost.cz vicek.radek
Středa Březen 17 14:26:05 CET 2004


Hmmm, s tim bude asi problem.

Zatim co jsem delal pokusy tak nejlepe vychazely funkce:

queryperformancefrequency()
queryperformancecounter()
 
jsou jemnejsi nez GetTickCount(), ale rekl bych ze problem je obecne v necem 
jinem.

Jde o to, ze pri fungujicim multitaskingu a multithreadingu nemate nikdy 
zaruceno prednostni zpracovani vaseho vlakna a tim i provedeni API funkce. 
Tzn. udalost vyvolana volanim API fce se zaradi do fronty a ceka jako 
ostatni az na ni dojde rada (pokud jste nezmenili prioritu nejakeho procesu 
na NT). Alespon co vim tak napr. 98 provadeji multitasking tak, ze prideluji 
pravidelne kvanta casu kazdemu procesu. Co se tyka 32-bitovych aplikaci by 
melo byt vse v poradku kazdy proces dostane stejne penzum casu, horsi je 
kdyz neco bezi jeste 16-bitove. Tato aplikace neni schopna uvolnit procesor 
dokud se sama nerozhodne. I pokud provozujete jen 32-bit app to neni tak 
jednoznacne jelikoz W jsou schopny jeste vyhodnocovat aktivitu jednotlivych 
aplikaci a korigovat tak kvanta jake aplikace dostavaji.

Musi se proste na to jit asi jinak, bohuzel nevim jak.

RadekCX

--- P?vodn? dopis ----------------------------------------------------------
Datum: 01.02.2002  20:30
Od: "hwkonfera" <hwkonfera@seznam.cz>
Pro: vicek.radek@ozjc.cpost.cz, ...
V?c: mikrosekundove intervaly v Delphi5
----------------------------------------------------------------------------
>... rad bych se ucastniku zeptal, jak mam resit presne odmerovani 
>mikrosekundovych intervalu v Delphi 5, nechci-li pouzivat knihovny typu 
>port.dll, ktere maji tuto funkci implementovanou ? Existuji nejake 
>SuperSuperTimery pro takoveto intervaly ? Jsou timery nekde prehledne 
>srovnany z hlediska chyb a rozliseni ? Zatim nejlepe se chova VrTimer z 
>sady Varian Workshop, ale stejne je rozliseni 1ms.
>Diky, Simon Cihelnik
>
>





Další informace o konferenci Hw-list