Thema: Delphi DelphiX Cpu Entlastung ?

Einzelnen Beitrag anzeigen

Phobeus

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

Re: DelphiX Cpu Entlastung ?

  Alt 5. Feb 2007, 09:48
Zum einen will ich meine allgemeine Haltung zu DelphiX kund tun: Die Schnittstelle ist ein wandelndes Deadend. Du lernst einen fiktiven Aufsatz für eine veraltete Schnittstelle mit der Du nicht einmal theoretisch aktuelle Titel reproduzieren könntest. Ich empfehle jeden der sich langfristig mit dem Thema beschäftigt sich direkt in eine Grafik-Schnittstelle einzuarbeiten. Selbst ein Wechsel von Direct3D <=> OpenGL wird einfacher fallen als von DelphiX <=> DirectX.

Die Standardverarbeitung bei aktuellen Spielen ist eine Render-Loop in der das Programm nach dem Start geht und dort entsprechende Grafiken beginnt zu zeichnen. Normalerweise wird die Anwendung versuchen die gesamte zur Verfügung stehende Leistung des Systems zu verwenden, um möglichst viele Bilder die Sekunde über die Pipes zum Anwender zu hauen. Das ist grundsätzlich auch keinerlei Problem, da auf den meisten Systemen der Nutzer nur maximal 1 Spiel zu Zeit spielt. Erst im Rahmen von Notebooks kommt immer häufiger die Forderung, dass man nicht nur pur auf Leistung getrimmte Anwendungen haben möchte, sondern nur eine bestimmte Anzahl von Bildern berechnen möchte, um die übrig bleibende CPU-Zeit nicht anderweitig zu verwenden. Sleeps sind eine Möglichkeit, eine bessere wäre es den Zeitabstand zum letzten Frame zu prüfen und dann zu entscheiden, ob eine Aktualisierung des Bildes wirklich bereits wieder von nöten ist.

Grundsätzlich ist eine 100%-Auslastung bei einem Spiel nichts tragisches und Du solltest lieber die FPS messen, um einen ungefähren Eindruck über die tatsächliche Leistung zu erhalten. Dabei solltest Du Dir bewußt sein, dass DelphiX die alte DirectDraw-Schnittstelle verwendet und die überhaupt nicht von den Vorteilen einer modernen GPU profitierst. Entsprechend solltest Du Dich in deiner Anwendung vor allem mit Alpha-Blending sehr zurückhalten.
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat