Einzelnen Beitrag anzeigen

Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#15

Re: Projekt bitte testen - Lag?

  Alt 23. Mai 2008, 14:34
Also zu dem Floating-Point-Problem: dafür musst du die CPU anweisen, genauer zu arbeiten bzw. invalide Operations zu "ignorieren". Das kannst du mit folgendem Befehl machen, den du am besten als allererstes (entweder im initialization-Teil einer unit oder im FormCreate-Event) aufrufst

Delphi-Quellcode:
procedure Set8087CW(NewCW: Word); assembler;
asm
  MOV Default8087CW, AX
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  {$IFDEF CPU386}
    Set8087CW($133F);
  {$ENDIF}
  // ....
end;
Nun nochmal zum FPS-Problem: wie ich bereits schon vorher gesagt habe, liegt das an der aktivieren vertikalen Synchronisation. Ich weiß nicht, wie man das mit DirectX abstellt, ich kenn nur den OpenGL-Befehl. Aber vSync kann man normalerweise im Konfigurationsmenü des Grafikkarten-Treiber deaktivieren.
Wenn dein Timer auf das OnIdle-Event basiert, dann ist das kein Problem für große FPS-Zahlen. Wenn du den normalen VCL-Timer benutzt mit einem Intervall von 1, dann wirst du eine maximale FPS-Zahl von ca. 50-70 erreichen. Aber mit dem OnIdle-Event kann man locker 5000 FPS und mehr erreichen.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat