Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Benmik,
24. Apr 2016
Ich denke auch, dass ich diesen Ansatz jetzt erstmal nicht weiter verfolgen werde. Das Plattenkraspeln bei FP2 und die deutlichen Unterschiede zwischen FP1 und FP2 lassen mich aber doch glauben, dass man das Einlesen verbessern kann.
Ich arbeite ja schon mit einem Threadpool. Wenn die Dateien erstmal im Arbeitsspeicher sind, ist, glaube ich, wenig an Geschwindigkeit herauszuholen. 23 Sekunden...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Benmik,
24. Apr 2016
Hab ich! Und sogar die Festplatten dabei noch kurz stromlos gemacht, für alle Fälle.
Ich finde ja auch, dass Sir Rufo Recht hat, aber ich hatte seinerzeit sehr viel ausprobiert, um den schnellsten Weg zu einem Vorschaubild zu finden, und IExtractImage fand ich einfach am besten. Ich bin auch gar nicht so sicher, ob ein Einlesen in einem separaten Thread etwas bringen würde, denn vermutlich ist...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Benmik,
23. Apr 2016
Äh - weil Extract beides macht und in der Shell32.dll sitzt (dachte ich jedenfalls) ???
In gewisser Weise hat sich das aber erledigt, weil ich Benedikt Magnus' simple, aber geniale Idee (fällt ja öfter zusammen) mal ausprobiert habe, und siehe da, Multithread ist auch bei HDD besser, wenn die Dateien noch im Cache sind (ich messe jetzt auch bei FP1 und FP2 um die 25 sec, wie bei der SSD, habe...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Benmik,
23. Apr 2016
War ja auch meine Idee, aber nach viel Experimentieren fand ich seinerzeit den Weg über IExtractImage (Achtung: Interface! :wink:) mit GetLocation und Extract am schnellsten. Und da kann man Bild-Lesen und Vorschau-Erstellen nicht trennen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Benmik,
23. Apr 2016
Das merk ich mir schon mal. Das könnte selbst dann gut sein, wenn sich eine Lösung fände.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Benmik,
23. Apr 2016
Ich lese JPG ein und erstelle Vorschaubilder. Jetzt habe ich mal überprüft, welche Auswirkungen das hat, wenn ich Multithreading verwende, und das jeweils bei einer SSD und zwei herkömmlichen Festplatten (FP).
Material waren ~1.200 JPG mit insgesamt ~5 GB. Gemessen habe ich einmal mit und einmal ohne Platten-Cache (Rechner-Neustart). Verwendet habe ich nach längerem Überlegen AsyncCalls von...