Measuring card speeds: not always simple!

After my February article where I measured the speed of various CompactFlash cards in my cameras, I’ve had some queries about my testing method. It turns out that while measuring the speed of the cards in my EOS 7D and 5DmkII cameras is easily achieved in the field, it’s harder to do with some other models of camera!

Recently I met up with my friend Syd Low for coffee and he brought his Nikon cameras and some recent CF purchases along (Syd snapped this photo with his iPhone while we chatted). We made some interesting discoveries.

On my Canon cameras the camera seems to write out the data to the card as quickly as it can. If you hold down the shutter button for a continous burst, the card activity light comes on immediately: as soon as there’s data in the buffer the camera’s busy emptying it. When you eventually release the shutter the activity light remains solidly on for a while. Eventually the LCD lights up with a preview image, and a while afterwards the activity light goes off. I’ve been simply using a stopwatch to time the interval between the light going on and turning off, and then dividing the number of megabytes by the number of seconds. Conveniently the Format screen in the EOS menu system tells you how much data is on the card before formatting, making that measurement very easy in-camera. The fastest speed I’ve measured on my EOS 7D this way has been 55 MB/s using Lexar 600x cards, and the results are consistent between runs.

Syd and I did some experiments with the Nikon D3s, and the first difference is that it takes a while for the camera to start writing files to the card. Apparently the camera’s willing to wait a while until there are a few shots in the buffer. No-one seems to complain about this: probably because the buffer’s large enough to handle over 40 RAW frames without worrying about the card speed (the original D3 had half this buffer, although a buffer upgrade to match the D3s is available). Where D3s shooters care about the card speed is in how quickly the buffer has room for more shots. However, measuring this accurately requires a different method than I’ve been using on my EOS cameras.

The other significant difference is that once the Nikon camera’s emptied out “enough” space in the buffer, it seems to slow down writing to the card. The activity light starts flickering instead of being solidly on. This means that if we just measure the total time, we’ll only be determining the average writing speed. In light of this, I’m left wondering how sites like RobGalbraith.com have actually measured useful numbers for these cameras.

We do have a way of measuring the speed of these cards, but it needs a better setup than we had in the cafe! We can record audio of the camera firing, and after the buffer fills up we can accurately measure the frame rate. By examining the card on the computer we can determine the file sizes, and from these calculate the card writing speed. This should provide a valid indication of how quickly the camera will reclaim buffer space using each card model. This measurement method does also work with my EOS cameras, but the stopwatch technique is just more convenient.

For example, look at this graph of data from my earlier measurements of the Lexar 16GB 600x card in the EOS 5DmkII. It’s a screen-grab from the Audacity software, and the dark area has just been selected for measurement:

That’s 12 frames in 4.74 seconds (an average of 2.53 fps – remember this is after the buffer has filled). Those 12 images took up 214 MB (an average of around 18 MB: fairly small for the 5DmkII). 214 MB in 4.74 seconds comes to just over 45 MB/s, which matches the speed I measured for this card in this camera using the stopwatch method.

I expect that a similar method will allow us to reliably measure the throughput of cameras like the D3s. Being able to quantify the differences between cards can provide a better basis for purchase decisions than “they feel about the same”.

Leave a Reply