SDL Delay: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) K (<br>'s ...) |
DGLBot (Diskussion | Beiträge) K (Der Ausdruck ''<pascal>(.*?)</pascal>'' wurde ersetzt mit ''<source lang="pascal">$1</source>''.) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
'''SDL_Delay''' - Der aktuelle Thread wird für eine bestimmte Zeit angehalten, bevor die Verarbeitung fortgesetzt wird. | '''SDL_Delay''' - Der aktuelle Thread wird für eine bestimmte Zeit angehalten, bevor die Verarbeitung fortgesetzt wird. | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
procedure '''SDL_Delay'''(''msec'': UInt32); | procedure '''SDL_Delay'''(''msec'': UInt32); | ||
− | + | ||
+ | |||
== Parameter == | == Parameter == | ||
Zeile 18: | Zeile 20: | ||
|} | |} | ||
− | + | ||
+ | |||
== Beschreibung == | == Beschreibung == | ||
'''SDL_Delay''' pausiert den aktuellen Thread für die Anzahl der Milisekunden, die als Parameter übergeben werden soll. Diese Funktion sollte nicht zur Syncronisation von Threads verwendet werden, da nicht garantiert wird, dass die Anzahl der Milisekunden wirklich gewartet wird. So wird auf einigen Plattformen mindestens 10 Milisekunden gewartet, selbst wenn nur eine angegeben wurde. '''SDL_Delay''' ist vor allem immer dann sinnvoll, wenn man einem Thread ein wenig "Luft" verschaffen möchte, um z.B. einem anderen Thread einen Zugriff auf ein [[SDL_CreateMutex|Mutex]] zu erlauben. Einige Programmierer schwören zudem darauf, dass das bewußte Abbremsen in der Renderloop bei Notebooks die Laufzeit der Batterie erheblich verlängert, da die Grafikkarte nicht dazu gezwungen wird soviele Bilder wie möglich zu berechnen. | '''SDL_Delay''' pausiert den aktuellen Thread für die Anzahl der Milisekunden, die als Parameter übergeben werden soll. Diese Funktion sollte nicht zur Syncronisation von Threads verwendet werden, da nicht garantiert wird, dass die Anzahl der Milisekunden wirklich gewartet wird. So wird auf einigen Plattformen mindestens 10 Milisekunden gewartet, selbst wenn nur eine angegeben wurde. '''SDL_Delay''' ist vor allem immer dann sinnvoll, wenn man einem Thread ein wenig "Luft" verschaffen möchte, um z.B. einem anderen Thread einen Zugriff auf ein [[SDL_CreateMutex|Mutex]] zu erlauben. Einige Programmierer schwören zudem darauf, dass das bewußte Abbremsen in der Renderloop bei Notebooks die Laufzeit der Batterie erheblich verlängert, da die Grafikkarte nicht dazu gezwungen wird soviele Bilder wie möglich zu berechnen. | ||
− | + | ||
+ | |||
== Beispiel == | == Beispiel == | ||
− | <pascal>uses SDL; | + | <source lang="pascal">uses SDL; |
begin | begin | ||
WriteLn('Start'); | WriteLn('Start'); | ||
SDL_Delay(5000); // wait for 5 seconds | SDL_Delay(5000); // wait for 5 seconds | ||
WriteLn('Finish'); | WriteLn('Finish'); | ||
− | end.</ | + | end.</source> |
+ | |||
+ | |||
− | |||
== Siehe auch == | == Siehe auch == |
Aktuelle Version vom 10. März 2009, 19:08 Uhr
Inhaltsverzeichnis
SDL_Delay
Name
SDL_Delay - Der aktuelle Thread wird für eine bestimmte Zeit angehalten, bevor die Verarbeitung fortgesetzt wird.
Delphi-Spezifikation
procedure SDL_Delay(msec: UInt32);
Parameter
msec | Anzahl der Milisekunden in der der Thread pausiert werden soll |
---|
Beschreibung
SDL_Delay pausiert den aktuellen Thread für die Anzahl der Milisekunden, die als Parameter übergeben werden soll. Diese Funktion sollte nicht zur Syncronisation von Threads verwendet werden, da nicht garantiert wird, dass die Anzahl der Milisekunden wirklich gewartet wird. So wird auf einigen Plattformen mindestens 10 Milisekunden gewartet, selbst wenn nur eine angegeben wurde. SDL_Delay ist vor allem immer dann sinnvoll, wenn man einem Thread ein wenig "Luft" verschaffen möchte, um z.B. einem anderen Thread einen Zugriff auf ein Mutex zu erlauben. Einige Programmierer schwören zudem darauf, dass das bewußte Abbremsen in der Renderloop bei Notebooks die Laufzeit der Batterie erheblich verlängert, da die Grafikkarte nicht dazu gezwungen wird soviele Bilder wie möglich zu berechnen.
Beispiel
uses SDL;
begin
WriteLn('Start');
SDL_Delay(5000); // wait for 5 seconds
WriteLn('Finish');
end.