Ein Timer ist im übrigen sehr sehr unschön, zumal du an 10msec Intervalldauer real so gut wie nie heran kommen dürftest. Ein MMTimer (
Unit MMSystem) ist da deutlich besser geeignet, oder ein Gameloop, oder Application.OnIdle. (Gameloop ist eigentlich das Übliche.) Und damit die Spielgeschwindigkeit nicht von der Geschwindigkeit des Rechners abhängt, solltest du auf jeden Fall ein Framerate-Control einbauen. (Mal im Forum stöbern, dazu hatten wir schon mal was meine ich.)
Damit die CPU-Auslastung nicht so irre hoch wird, könnte man zu dem ein Framerate-Limit einbauen. Das Zeichnen selber wirst du aber vermutlich auf konventionellem Wegen (
GDI) nicht viel schneller bekommen. Genau deshalb gibt es ja
DirectX . Da musst du dann abwägen wie sehr sich der evtl. Mehraufwand lohnt. Grundsätzlich ist hohe CPU-Auslastung bei Games völlig normal und auch okay. Nur sollte nicht grad 80% auf das pure Neuzeichnen entfallen, da hast du Recht
.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel