Forum: Multimedia
by Uwe Raabe,
11. Apr 2016
Dazu müsste man wissen, ob die Zeilen in aufsteigender oder absteigender Reihenfolge vorliegen. Dann könnte man das so machen.
Forum: Multimedia
by Uwe Raabe,
8. Apr 2016
Wenn du die Zuweisung auf Pixels auskommentierst und im Pixel-Mode laufen lässt, erfolgt gar keine Grafikausgabe. Das ist die untere Grenze für die Laufzeit. Die Differenz zu den Laufzeiten bei aktiver Grafikausgabe (Pixel oder Scanline) ist dann die eigentliche Zeit, die für die Grafikausgabe benötigt wird.
Forum: Multimedia
by Uwe Raabe,
8. Apr 2016
In der Spectrogram_08_04_16.rar ist aber keine MP3 vorhanden.
Forum: Multimedia
by Uwe Raabe,
8. Apr 2016
Hast du das irgendwo hier angehängt? Ich kann gerade nichts finden.
Forum: Multimedia
by Uwe Raabe,
8. Apr 2016
Die Bitmap muss gar nicht größer werden, nur der Buffer. Allerdings musst du dann die Schleife anders aufbauen
Ich habe mal eine MP3-Datei (320kBit/s, 4:52 Dauer, 11,1 MByte) geladen. Die auf meinem System gemessenen Zeiten:
SetPixel: 4,0 s
ScanLine: 1,5 s
ohne Grafik: 1,3 s
Forum: Multimedia
by Uwe Raabe,
8. Apr 2016
Übrigens: Der Buffer-Overflow schlägt gnadenlos auf das Scanlines-Array zu. Der Code funktioniert nur, wenn man SetLength(Buffer, 256); verwendet.
Forum: Multimedia
by Uwe Raabe,
8. Apr 2016
In deinem Fall kann Scanline seinen eigentlichen Vorteil gar nicht richtig ausspielen. Mit ScanLine kann man sehr schnell eine ganze Zeile des Bitmaps bearbeiten. Dein Code arbeitet aber spaltenorientiert, weswegen du immer nur ein Pixel der jeweiligen Scanline änderst und beim nächsten Aufruf bereits eine andere Scanline brauchst.
Eventuell kannst du noch etwas Performance herausholen, wenn...
Forum: Multimedia
by Uwe Raabe,
7. Apr 2016
Guckst du hier: http://docwiki.embarcadero.com/CodeExamples/Seattle/en/ScanLine_(Delphi)