Hier noch ne Änderung welche die CPU Auslastung auf 0 senkt.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
const
DrawTLWidth = 25;
var
XPos: Integer;
begin
if bpp = 0 then
Exit;
XPos:= Bass_ChannelGetPosition(Channel, BASS_POS_BYTE);
BitBlt(Bitmap.Canvas.handle, 0, 0, (XPos div integer(bpp)) + DrawTLWidth, PB.Height, DestBitmap.Canvas.handle, 0, 0, SrcCopy);
DrawTime_Line(XPos, 0, TColor($FFFFFF));
PB.Refresh;
end;
Das komplette Bitmap wegen einer Linie immer wieder neu zu zeichnen ist nicht gerade die optimale Lösung.
Deshalb habe ich es auf die aktuelle Position inklusive des Zeichnen des Textes beschränkt.
Hätte den Profis auffallen müssen
gruss