Einzelnen Beitrag anzeigen

Benutzerbild von littleDave
littleDave

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

Re: Spectrum geht durch wand (OpenGl)

  Alt 6. Jul 2008, 18:50
Zitat von EWeiss:
Mit Frames meine ich die anzahl der Spectrumbars- gemessen an FFT nicht an der anzahle der gezeichnetet FPS
Bei 144 und 96 geht nix durch die Wand aber eher hier würde ich das vermuten..
Ach so, jetzt versteh ich was du meinst

Aber ich hab gerade eine Idee : Wie bekommst du die FFT-Daten von BASS? Per Windows-Message oder per CallBack-Procedure? Kann es sein, dass ab 288 die FFT-Daten schneller kommen als du zeichnen kannst? Vielleicht beginnst du ja zufällig das Zeichnen während du schon zeichnest?

Versuch das mal so zu lösen:
Delphi-Quellcode:
var IsDrawing : boolean = False;

procedure DoDraw;
begin
  // Falls du bereits zeichnest, abbrechen
  if IsDrawing then
     exit;

  // Aufruf von "DoDraw" verbieten
  IsDrawing := True;
  try
    Draw_All; // <-- hier kommt der Aufruf des KOMPLETTEN render-Codes hin (inc. SwapBuffers).
  finally
    // Aufruf von "DoDraw" wieder erlauben
    IsDrawing := False;
  end;
end;
Ist jetzt nur eine Vermutung - aber vielleicht hilfts ja
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