Einzelnen Beitrag anzeigen

Phobeus

Registriert seit: 14. Sep 2003
Ort: Tespe
65 Beiträge
 
Delphi 7 Professional
 
#3

Re: [Spieleprogrammierung] Spielschleife

  Alt 16. Mai 2006, 21:34
Was wirklich sinnvoll ist, hängt ein wenig davon ab, was Du machen willst. Aber wie EDatabaseError schon sagt, würde ich auch die Events der VCL dafür nehmen. In jedem Fall sollte die Berechnung von Tätigkeiten zeitgesteuert (Time based) erfolgen, damit es sich halt überall wirklich gleich schnell bewegt. Insbesondere dann, wenn Du im Rahmen eines Spieles sowieso versucht soviele Bilder über den Jordan zu heizen, wie die GPU her gibt. Die Bewegung und Berechung muss also zeitgesteuert laufen und schön wäre es halt auch, wenn das Bild dazu auch noch paßt. Events wie Tastatur, Netzwerk etc. sollten immer sofort verarbeitet werden und nicht zeitgesteuert. Berechungen (z.B. die KI) in Threads auszulagern kann sinnvoll sein, wird es in den meisten Fällen jedoch nicht sein. Dies lohnt sich nur dann wirklich, wenn man Ressourcen parallel nutzen möchte. Insbesondere bei Spielen ist dies eher nicht der Fall, da irgend etwas in der Loop gerade verarbeitet wird. Bilder oder Schritte zu Berechnen lohnt sich nur dann, wenn sie auch gebraucht werden. Läuft dein KI-Thread die ganze Zeit ab und die Bilder kommen nicht nach, ist dies genauso blödsinnig wie anderes herum. Mehr Sinn macht es daher, wenn dies beides hintereinander geschieht und die Aktionen zeitlich gesteuert sind. 200ms später muss nicht nur 200ms späteres Bild ergeben, sondern auch 200ms "weitergedacht" haben.
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat