Performance von Flash-Speichern und Lesegeräten bzw. Kameras im Vergleich

Thread Status
Hello, There was no answer in this thread for more than 30 days.
It can take a long time to get an up-to-date response or contact with relevant users.

<ChristiaN/>

Auszeit
Registriert
Kürzlich bin ich von der Nikon D40x auf die Nikon D300 umgestiegen. Damit verbunden war auch ein Wechsel des Speicherkartenformats. Die D40x unterstützt SD(HC) Karten, die D300 CompactFlash Typ I+II. Da ich für die D40x ebenfalls erst kürzlich eine 4 GB SDHC-Karte erworben hatte, wollte ich diese nicht gleich zum alten Eisen legen und habe mir deshalb auch noch einen SDHC-zu-CompactFlash-Adapter gekauft.

Nun stellte sich die spannende Frage, welche Schreib- und Leseraten mein PC an verschiedenen Kombinationen von Lesegeräten und Speicherkarten erzielen könnte und ob diese in die Nähe der Angaben der Speicherkartenhersteller kämen. Außerdem interessierte mich, ob man mit dem Adapter auch JPEG- und RAW-Dateien zwischen den Kameras austauschen könnte. Das würde mir erlauben, Bilder in einer Kamera zu betrachten, die ich mit der jeweils anderen Kamera aufgenommen habe. Zugegebenermaßen eher eine spielerische Anforderung, aber durchaus aufschlussreich.

Die Testumgebung

Als „Lesegeräte“ zum Schreiben und Lesen der Dateien auf den Speicherkarten habe ich jeweils eine D40x, eine D300 (mit MB-D10) und ein echtes Lesegerät verwendet, den StarReader von MSI.

Als Speichermedien habe ich jeweils eine SanDisk Extreme IV CompactFlash 4.0 GB (max. 40 MB/s) und eine Panasonic Class 6 SDHC 4 GB (max. 20 MB/s) verwendet. Die SDHC-Karte wurde auch für den Test des Adapters JOBO SD/SDHC CF Card Adapter verwendet.

Die Messsoftware

Zum Messen der Schreib-/Leserate habe ich zwei einfache Javaprogramme geschrieben. Das hat den charmanten Vorteil, dass jeder sie unabhängig vom Betriebssystem (Windows, Linux, Mac OS X) benutzen kann, um sein eigenes Equipment mit meinem Messergebnissen zu vergleichen. Die Programme liegen als Open Source bei. Zur Verwendung braucht man lediglich ein beliebiges Java Development Kit (z.B. das von Sun). Damit kann man den Sourcecode wie folgt übersetzen:

javac WritePerformance.java

und

javac ReadPerformance.java

Zum Ausführen reicht dann z.B. Folgendes:

java WritePerformance d:\iotest

Das zusätzliche Argument ist eine Pfadangabe für die Datei (hier ein Windows-Pfad). Der Pfad muss natürlich eine Datei im korrekten Lesegerät benennen, also bitte entsprechend anpassen. Sollte die Datei bereits existieren, erhält man eine Fehlermeldung in Form einer Java-Exception. In diesem Fall den Test einfach mit einer anderen Pfadangabe wiederholen oder die Datei zuvor löschen.

Die Messweise

Die Messungen mit der Software habe ich jeweils dreimal wiederholt, den Mittelwert der Schreib-/Leserate gebildet, auf eine Nachkommastelle gerundet und in die beiliegende Excel-Tabelle eingetragen.

Wichtig: Beim Lesetest wurde vor jeder Messung die Speicherkarte bzw. der Adapter entfernt, um den internen Lesepuffer des Betriebssystems zu leeren. Wer bei seinen eigenen Messungen dreistellige Leseraten erhält (oder evt. noch mehr Stellen), sollte die Karte entfernen und den Test wiederholen.

Für vergleichbare Ergebnisse geht man also wie folgt vor:

1. „java WritePerformance d:\iotest“ mit angepasstem Pfad aufrufen und das Messergebnis in die Excel-Tabelle eintragen bzw. aktualisieren (Durchschnitt).
2. Karte aus dem Lesegerät bzw. der Kamera entfernen.
3. „java ReadPerformance d:\iotest“ mit angepassten Pfad aus Schritt 1 aufrufen und das Messergebnis in die Excel-Tabelle eintragen bzw. aktualisieren (Durchschnitt).
4. Die Datei „d:\iotest“ bzw. den angepassten Pfad aus Schritt 1 löschen.
5. Test wiederholen oder Karte entfernen.

Interpretation der Messergebnisse

Es ist wenig überraschend, dass die Messergebnisse von den maximalen Datentransferraten, die die Hersteller angeben, weit entfernt liegen. Es ist wohl ein bisschen so wie mit der Verbrauchsangabe bei Autoherstellern – diese erreicht man auch nur unter optimalen Voraussetzungen. In diesem Fall sind es die Lesegeräte, die das schwächste Glied in der Kette darstellen. SanDisk empfiehlt für ihre Extreme IV CompactFlash (CF) Karten übrigens den SanDisk Extreme Firewire Reader. Es wäre sicher interessant, die Messungen auch mit diesem Lesegerät durchzuführen.

Ebenfalls wenig überraschend ist der Vorsprung, den die aktuelle Generation der CF-Karten ggü. den SDHC-Karten hat. Am StarReader ist die Transferrate der CF-Karte etwa doppelt so schnell wie die der SDHC-Karte. Lediglich die Schreibrate der SDHC-Karte fällt hier nach unten etwas aus dem Rahmen (4,5 MB/s statt der zu erwartenden 6 MB/s). Angenehm überrascht das Verhältnis der Schreib-/Leserate der CF-Karte. Sowohl im StarReader als auch in der D300 liegen beide Raten fast gleich auf.

Auf der ganzen Linie enttäuschend ist die Leistung des JOBO-Adapters: Im StarReader halbiert sich die Schreibrate der SDHC-Karte, wenn sie in den Adapter eingesetzt wird. In der D300 ist die CF-Karte beim Schreiben mehr als fünfmal so schnell wie die SDHC-Karte im Adapter. Lediglich beim Lesezugriff im StarReader erhält man einen leichten Performancegewinn. Damit macht der Einsatz des Adapters aber insgesamt keinen Sinn. Insbesondere nicht zum Fotografieren in der D300 - nicht mal für nur 25,- EUR.

Sehr interessant sind übrigens auch die Schreibraten der CF-Karte in der D300: Mit 11 MB/s sind diese zwar fast gleich auf mit dem StarReader, allerdings erscheint dies erheblich langsamer, als die Kamera beim Fotografieren effektiv zu Werke geht.

Hohe interne Schreibrate der D300

Zum Vergleich wurde deshalb folgender Test durchgeführt: Mit frisch geladenen NiMH-Akkus (2500mAh) im MB-D10 wurden exakt hundert 12-Bit-Lossless-Compressed-RAW-Bilder im Dauerfeuer des CH-Modus aufgenommen und die Zeit mit einer Stoppuhr so lange gemessen, bis die Speicherkarten-LED an der Kamera erlischt, also bis der interne Pufferspeicher geleert ist (der bei dieser Einstellung für ziemlich genau 20 Aufnahmen bei gefühlten 8 Bildern/Sekunde ausreicht). Leider habe ich keine präzise Stoppuhr, aber dafür benötigt die Kamera mit der Extreme IV-Karte etwa 47 Sekunden (+/- eine Sekunde). Je nach Akkuladestand weichen die Ergebnisse erheblich ab, wie sich später bestätigt hat. Wenn man nun die Bytes der hundert Bilder auf der Speicherkarte zusammenzählt und durch die gestoppte Zeit dividiert kommt man auf etwa 29,5 MB/s. Das ist fast das Dreifache der Schreibrate derselben Kamera-/Speicherkatenkombination an der USB-Schnittstelle!

RAW-Bilderkompatibilität zwischen D40x und D300

Bleibt noch die Kompatibilitätsfrage: Kann man also mit Hilfe des JOBO-Adapters RAW-Bilder, die mit der D40x gemacht wurden, in der D300 anschauen und umgekehrt? Begrenzt!

Generell kann man in der D300 die RAW-Bilder, die mit der D40x gemacht wurden, uneingeschränkt anschauen. Insbesondere funktioniert auch die Bilderlupe. Scheinbar fehlen lediglich die EXIF-Tags für die Bildoptimierungsparameter der D40x. Kein Wunder, wenn man die Möglichkeiten der beiden Kameras in diesem Punkt vergleicht. Immerhin kann man so die D300 aber auch als „Fernsehprojektor“ für die Fotos der D40x missbrauchen (missbrauchen wohl gemerkt).

Umgekehrt ist es ähnlich, aber leider funktioniert die Bilderlupe nicht. So macht dieser Ulk natürlich keinen Sinn mehr - Spaß gemacht hat’s aber trotzdem.

Weitere Messergebnisse

So, nun würden mich natürlich weitere Messergebnisse interessieren. Wer Lust hat, kann mit Hilfe der beiden Programme eigene Messungen durchführen und die Ergebnisse ins Forum stellen. Viel Spass dabei!
 

Anhänge

  • Flash Storage Performance.zip
    4 KB · Aufrufe: 29
Anzeigen
-Anzeige-
Zurück
Oben Unten