SDL Delay: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Siehe auch)
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, 15:20 Uhr

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.


Siehe auch

SDL_AddTimer