Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi MulitMedia API Timer oder TTimer ? (https://www.delphipraxis.net/10878-mulitmedia-api-timer-oder-ttimer.html)

stoxx 27. Okt 2003 12:02


MulitMedia API Timer oder TTimer ?
 
ich weiß nicht so recht, welchter Timer Resourcen schonender ist.

Der MultimediaTimer mit der Windows Callback funktion

procedure TimerCallback( TimerID, Msg : UINT; dwUser, dw1, dw2 : DWord); pascal;

und dem Aufruf

ID := TimeSetEvent ( 200,0, Timerpointer, 0, TIME_PERIODIC);


oder der normale TTimer der VCL ?

Der normale TTimer als Message und der Multimediatimer als Callback.

Danke für alle hilfreichen Antworten !

OregonGhost 27. Okt 2003 19:03

Re: MultiMedia API Timer oder TTimer ?
 
Ich schätze mal, die tun sich nicht viel. Während der TTimer in seiner Auflösung stark begrenzt ist, aber dafür den kompletten Message-Kram durchläuft mit WM_TIMER durch die Fensterprozedur, DefWindowProc und dann erst dem TimerEvent und allem drum und dran, läuft der Multimediatimer in einem separaten Thread, so dass Context-Switches auftauchen etc. Bei Multimedia, speziell Spielen, ist "ressourcensparend" nämlich kein gern gehörtes Wort, Hauptsache es geht schnell ;c)

Statt eines Timers könntest du auch QueryPerformanceCounter nehmen, der ist noch höher auflösend als der Multimedia-Timer und da er einfach nur die Ticks abfragt (ergo kein eigenständiger Timer ist), dürfte der auch weniger Ressourcen verbrauchen.

Wenn du keine hohe Auflösung brauchst und "nur" eine Anwendung schreiben willst, sollte TTimer das richtige für dich sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 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