Hey Leute,
ich hab da ma 'n Problem mit meinem Projekt und zwar mit der Visualization mit Hilfe von Bass.dll (2.3.0.2) [Spektrum].
Durch die hab ich ca. 80% CPU Auslastung, deaktiviere ich den Timer2 [Interval: 33] hab ich 10-20% der CPU Auslastung. Deaktiviere ich noch einen Timer1 [Interval: 100] habe ich eine Auslastung von max 2% (habe 2 Timer drin').
Wie kann ich die Auslastung vermeiden bzw. womit kann ich die Timer ersetzen?
Hier die Procedure von dem Timer, der für die Visualization verantwortlich ist:
Delphi-Quellcode:
procedure TMain_Form.Timer2Timer(Sender: TObject);
var
FFTFata : TFFTData;
begin
if BASS_ChannelIsActive(aChannel) <> BASS_ACTIVE_PLAYING then Exit;
BASS_ChannelGetData(aChannel, @FFTFata, BASS_DATA_FFT1024);
Spectrum.Draw(vis_img.Canvas.Handle, FFTFata, 0, 0);
vis_img.Repaint; // lasse ich das Weg, kriege ich nichts angezeigt :/
//^-- Den Befehl hab ich nirgendswo in den Demos gefunden.
end;
Ach ja, habe P4 3GHz HT (FSB: 800 MHz) und 1,5 GB
RAM (FSB: 400 MHz)