Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Andorra 2D] Problem beim Framework (https://www.delphipraxis.net/116639-%5Bandorra-2d%5D-problem-beim-framework.html)

Looper 3. Jul 2008 14:49


[Andorra 2D] Problem beim Framework
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hey,

habe ein Problem mit dem Framework von Andorra 2D:
Das Programm ist mit dem Framework einfach seehr langsam und instabil. Das sehe ich daran, da die Idle-Prozedur nur sehr selten aufgerufen wird und die FPS der Anwendung auf und ab rasen.

Mein Programmquelltext sieht wiefolgt aus:
Delphi-Quellcode:
program Zatacka;

uses
 Main in 'Main.pas';

var
  App1 : TZatacka;
begin
  App1 := TZatacka.Create;
  try
    App1.Run;
  finally
    App1.Free;
  end;
end.
Und meine Mainunit (ist auch die einzige sieht so aus). Es wird eigentlich nur das Fenster erstellt und das OnIdle-Event wird der Prozedur Idle zugewiesen.
Delphi-Quellcode:
unit Main;

interface

uses
  AdClasses, AdEvents, AdTypes, AdDraws, AdStdWindow, AdPerformanceCounter,
  SysUtils;

type
  TZatacka = class
   public
     AdDraw : TAdDraw;
     AdPerCounter : TAdPerformanceCounter;
     procedure Run;
     procedure Idle (Sender:TObject; var Done:boolean);
  end;

implementation

procedure TZatacka.Run;
begin
  AdDraw := TAdDraw.Create(nil);
  AdDraw.DllName := 'AndorraOGL.dll';
  if AdDraw.Initialize then
  begin
    AdPerCounter := TAdPerformanceCounter.Create;
    AdDraw.Window.Events.OnIdle := Idle;
    AdDraw.Run;
  end;
  AdPerCounter.Free;
  AdDraw.Free;
end;

procedure TZatacka.Idle (Sender:TObject; var Done:boolean);
begin
  AdPerCounter.Calculate;
  AdDraw.Window.Title := 'FPS:' + IntToStr(AdPerCounter.FPS);
end;

end.
Ich habe das Programm nochmal angehängt. Wenn ihr den Fehler nicht gleich findet, könntet ihr ja überprüfen, ob bei euch das Programm auch so unrund läuft. Das Programm macht halt noch nicht mehr als sich anzuzeigen und die FPS anzuzeigen :wink: .

mfg Looper

littleDave 3. Jul 2008 15:31

Re: [Andorra 2D] Problem beim Framework
 
Kenn mich mit Andorra zwar nicht aus, aber versuch mal folgendes:
Delphi-Quellcode:
procedure TZatacka.Idle (Sender:TObject; var Done:boolean);
begin
  AdPerCounter.Calculate;
  AdDraw.Window.Title := 'FPS:' + IntToStr(AdPerCounter.FPS);
 
  Done := False; // <----------------------

end;

Looper 3. Jul 2008 15:44

Re: [Andorra 2D] Problem beim Framework
 
Manchmal sieht man echt die einfachste Lösung nicht! :wall:

Jetzt geht's.

Dankeschööön.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz