Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#2

Re: [Bass.dll] CPU auslastung wegen Visualization

  Alt 5. Apr 2007, 16:03
Zitat von DIET3RIX:
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)
Naja eigentlich gehört das nach Multimedia
Versuchs doch einfach mal weniger Samples zu übergeben wenn das Spectrum nur 32 bars zur verfügung stellt
reicht es aus wenn du nur 512 übergibst.

Mit den Schnipsel kann auch niemand was anfangen.
Die frage ist doch wie das Render Event aussieht, wie umfangreich das ist.
Die auslastung müßte eigentlich bei 0% liegen

gruss Emil
  Mit Zitat antworten Zitat