SDL Delay: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K (→Siehe auch) |
I0n0s (Diskussion | Beiträge) K (<br>'s ...) |
||
Zeile 3: | Zeile 3: | ||
== Name == | == Name == | ||
'''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. | ||
+ | |||
+ | <br> | ||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
procedure '''SDL_Delay'''(''msec'': UInt32); | procedure '''SDL_Delay'''(''msec'': UInt32); | ||
+ | |||
+ | <br> | ||
== Parameter == | == Parameter == | ||
Zeile 13: | Zeile 17: | ||
| Anzahl der Milisekunden in der der Thread pausiert werden soll | | Anzahl der Milisekunden in der der Thread pausiert werden soll | ||
|} | |} | ||
+ | |||
+ | <br> | ||
== 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. | ||
+ | |||
+ | <br> | ||
== Beispiel == | == Beispiel == | ||
Zeile 25: | Zeile 33: | ||
WriteLn('Finish'); | WriteLn('Finish'); | ||
end.</pascal> | end.</pascal> | ||
+ | |||
+ | <br> | ||
== Siehe auch == | == Siehe auch == |
Version vom 17. Oktober 2005, 14:20 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.