Thema
:
Thread GENAU alle 10ms ausführen
Einzelnen Beitrag anzeigen
Mavarik
Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
Delphi 10.3 Rio
#
12
AW: Thread GENAU alle 10ms ausführen
20. Aug 2015, 13:06
So mach ich es auch...
zusammenfalten
·
markieren
Delphi-Quellcode:
procedure
TMainTimeing.Execute;
var
Timer : TStopWatch;
MS : Int64;
FPS : Single;
begin
Timer := TStopWatch.Create;
Timer.Reset;
while
not
(GameEnd)
do
begin
try
Timer.Start;
GameScreen.Bereinigen;
GameScreen.BeginUpdate;
try
try
FPS := PacMan.NextFrame;
except
MS := 1;
end
;
finally
GameScreen.EndUpdate;
end
;
TThread.Synchronize(
NIL
,
Procedure
()
begin
PacForm.BeginUpdate;
try
PacForm.Image1.Bitmap.Assign(GameScreen.Screen[GameScreen.AktScreen]);
finally
PacForm.EndUpdate;
end
;
end
);
Timer.Stop;
MS := Timer.ElapsedMilliseconds;
Timer.Reset;
if
MS < FrameRate
then
Sleep(FrameRate-MS);
except
GameEnd := true;
end
;
end
;
end
;
Frank Lauter
E
mbarcadero
MVP
•
FDK
das
F
iremonkey-
D
evelopment-
K
it
•
Mein Blog
•
Schulungen für
FMX
•
Mein
YouTube
Channel
•
Wiki unserer
Delphifrühstück
Usergroup
Zitat
Mavarik
Öffentliches Profil ansehen
Besuche die Homepage von Mavarik!
Mehr Beiträge von Mavarik finden