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