CF card speeds: 7D and 5DmkII

Despite manufacturers often claiming amazing speeds for their flash memory cards, these are never achieved by cameras writing to them. Sometimes this is because the quoted number is the maximum read speed in an ExpressCard reader, but in any case each camera model has different card interfaces, different CPUs, and different firmware, and these can result in dramatically different speeds overall. Thus when selecting a memory card for use in your camera it’s important to look at measurements in that camera model.
There are a few websites around with this data. A well-known one is Rob Galbraith’s CF/SD database, with benchmarks of a large number of cards in different cameras. However it doesn’t always have the camera model you’re interested in, or the card model. For instance the EOS 7D isn’t listed in the CF/SD database, although results for some recent cards can be found elsewhere on the site. Also Chuck Steenburgh reports some card speeds in Nikon bodies.
Primarily I’m looking at these CompactFlash cards in terms of how they work in my own EOS 7D and 5DmkII cameras. I shoot all my images as RAW files, so “JPEG speed” doesn’t interest me.

From my point of view there are several requirements for the speed of a card:
  • Can it keep up with recording movies? At 1080p HD, my cameras generate either 5.5 MB/s or 6 MB/s (the difference between PAL and NTSC: 25 and 30 fps) of data. A card that can save files at 8 MB/s or faster provides a nice safety buffer. But don’t believe the hype that you need a top-speed card for video on these cameras.
  • Burst rate for action shooting. These cameras have buffers that try to insulate you from the card’s speed, but if the camera is busy saving files it can disrupt things like reviewing images. Usually this isn’t an issue, but when it is it’s very annoying. And if you’re shooting action and manage to fill the buffer, it can feel like an eternity while waiting for room to reappear in the buffer. Obviously the buffer fills quickly if you simply hold down the shutter in continuous shooting, but I sometimes fill the buffer even when triggering each shot independently. A couple of frames here, a couple there, a few more, etc. It can add up quickly.
By the way, times that I am heavily exercising the 7D’s buffer include things like shooting flying albatrosses on the Southern Ocean, or following the action of a kill on the Serengeti.

Southern Giant Petrel (A2_054408)

So I’m interested in the underlying write speed (in MB/s) as a start, but also how this impacts the overall shooting speed. Manufacturers like to advertise speeds, either in MB/s or “X” (where 1X is 150 kB/s: the transfer rate of the original CD-ROM drives). But as noted above, a 400X card (nominally 60 MB/s) is unlikely to actually achieve that speed in your camera. Rather than relying on the manufacturers’ numbers, we need to test in each model.

The cameras
EOS 5DmkII
At 4 fps (well 3.8, but who’s going to quibble?) this camera isn’t a speedy action camera (it’s AF isn’t the best for this either) but it can still do a decent job of some action scenarios. The 14-bit RAW files are usually between 22 and 30 MB each (with 25 MB being a reasonable average for rough calculations) so it does help to have a decently-fast card.
In RAW mode the viewfinder indicates a buffer of 13 frames, although with a slow card I’ve seen it only actually produce 12 continuous frames, and with fast cards it gets up to 16 frames without pause (although the displayed maximum buffer is always 13). That’s an additional second of shooting.
EOS 7D
At 8 fps and with a great AF system, this camera makes an amazing sports camera.
The RAW files are a similar size to the 5DmkII’s (20-29 MB, with 25 MB the average even at relatively high ISOs) but a fast card is even more important as the buffer can fill so quickly.
While the buffer indicator maxes out at 15 in RAW mode, with most cards it actually manages 16 (that’s 2 seconds of solid shooting).
In low-speed (3 fps) mode it can manage 32 frames (almost 11 seconds) before the buffer fills.
The raw numbers

I’ve collected here what I’ve found to be the useful data for a number of cards. I’ve tested most of these myself, and for the same cards I’ve been getting numbers generally consistent with those reported by Rob Galbraith’s site. Thus I’ve included their results for several other common cards to put them in context.
Because there’re usually only small variations between cards of the same type but different size, I’ve merged the report for various card sizes unless there was a noticeable “outlier”. Because of this and because of the inherent precision problems of using a stopwatch to measure the speed, I’ve rounded all the results to 2 significant digits. All these tests were done with manual focus engaged, at fairly low ISOs, and in quite bright conditions.
Card 5DmkII
MB/s
7D
MB/s
Lexar Professional 600X 45 54
SanDisk Extreme Pro (robgalbraith) 41 45
Transcend 600X 37 45
SanDisk Extreme 36 39
Lexar Professional 300X (robgalbraith) 31 35
SanDisk Extreme IV 45MB/s edition (robgalbraith) 31 34
SanDisk Extreme IV 4GB 30 34
SanDisk Extreme III 30MB/s edition 23 28
SanDisk Ultra 22 27
SanDisk Extreme III 15 16
Ridata 80X PRO II 2GB 5.6 5.6
Silicon Power 45X 1GB 5.3 5.3

The above links are to the appropriate product pages at B&H Photo (my usual source for such things) to make it easy to compare prices.

It’s plain to see here that these cards do roughly keep their relative rankings between these two bodies. Sometimes a card will excel in one model but be a dog in another, but not here. However, these raw numbers don’t tell the full story by themselves.
The Cards
The slowest cards in this list provide an illustration of the limits for video recording. At 5.3 MB/s the Silicon Power card was only able to record short video clips before the buffer filled, while at 5.6 MB/s the Ridata card could record PAL clips fine, but soon stuttered in NTSC mode. Note that the Ridata is advertised as an 80X card, which would be 12 MB/s. That’s about the fastest I’ve been able to read files off it in a card reader, but the cameras are a long way behind when writing.
The older SanDisk Extreme III cards were fast for their day, but without UDMA they max out at around 16 MB/s in these cameras. I keep mine in my travelling kit as a spare of last resort.
The SanDisk Extreme III 30MB/s cards are noticeably faster. But while I’m more than happy to use these in my 5DmkII, I do prefer to put some of the faster cards in my 7D.
The SanDisk Ultra (not the older Ultra II cards: the “30MB/s” one) offers speed virtually identical to the older Extreme III 30MB/s, and it’s a common assumption that these cards were simply re-badged (although with different environmental constraints: the Extreme series purports to be more rugged). As such these do offer a great budget card with decent performance. Note that the current 2 GB model is only described by SanDisk as a “15MB/s” device (I have not tested this model).
The SanDisk Extreme IV was one of the first UDMA cards in 2006, and still produces a respectable speed today. The later “45MB/s” version is essentially the same speed in these cameras, and is matched by the Lexar 300X cards.
The SanDisk Extreme cards introduced in 2009 are quite speedy, and the significant performance improvement with this in the 7D over the Extreme III 30MB/s cards prompted me in 2010 to look at fast cards in more detail. Having mainly been a SanDisk user for years, by default I was considering getting some Extreme Pro cards but thanks to the results listed by Rob Galbraith I decided to branch away from the SanDisk family and add a faster Lexar 600X card to my kit. Both manufacturers keep dropping their prices, and when I bought it the Lexar 600X was cheaper than the equivalent SanDisk Extreme Pro. As an experiment, at the same time I bought the much-cheaper Transcend 600X 8 GB.

That’s pretty much given you the summary of my own card choices, but there is some more interesting detail to look at. The above numbers do translate into significant real-world differences in the speed of the cameras.
Both of these cameras have buffers which mean that the speed of the card won’t affect all shooters, with files being written to the card in the background. The 5DmkII is listed as having a 13-shot buffer in RAW, and the 7D having 15 shots. Unlike some older cameras which would then effectively lock up while the buffer was flushed, these cameras keep working, with AF/metering/etc continuing if you press the shutter even if the buffer is full. But if you’re shooting action sequences and often fill the buffer, you’ll be interested in how quickly it empties (or rather how quickly it gets room for more shots). In fact a very fast card can flush the buffer so quickly it seems bigger!

Here are graphs of some audio recordings of the cameras shooting with various cards. First the EOS 5DmkII (trying to shoot at 3.9 fps) with SanDisk Extreme III (NOT the 30MB/s version), UltraExtreme, Transcend 600X, and Lexar 600X cards:

As you can see, the faster cards effectively increase the buffer size. Once the buffer fills, the camera slows down but keeps shooting at a fairly regular pace. The Extreme card performs very well here, and it just keeps improving with the faster cards. With the Lexar card, the 5DmkII can maintain 2 fps RAW shooting until the card fills.

Now for the EOS 7D (trying to shoot at 8 fps with the same cards):

The buffer size doesn’t really change much, but when the buffer fills the behaviour becomes a bit erratic, with uneven pauses between bursts of frames (usually 2, but sometimes 1 or 4).  The longest gap I’ve measured with an Extreme III was 5.5 seconds before the camera would take another two shots. With action scenes unfolding in front of you while you wait, even one second can feel like an eternity!

The more-regular behaviour of the Extreme card is a lot more pleasant to use, and again it just keeps improving with the faster cards. With the Lexar card the 7D can maintain an average 2.75 fps RAW shooting until the card fills.

By the way, the EOS 7D also has a low-speed continuous mode (3 fps), and the Extreme III card can save 27 frames (9 seconds) before pausing. With the Extreme card this expands to almost 17 seconds, and I gave up testing after 30 seconds continuous shooting with the Lexar 600X. With the underlying 2.75 fps speed noted above it can’t go on at 3 fps forever, but even so that’s a lot of shots!

Gentoo Penguin, porpoising off our bow (A2_049933)
Card sizes

The size of card we should use is a common question, so I’ll try to give you my take on it. Cards are extremely reliable these days, and in my workflow it’s usually not long (less than a day) before I’ve copied all the files off a card and backed them up to multiple hard drives. So I’m not worried about “putting all my eggs in one basket” by using a large card. In fact one large card can be safer than many small ones, as when you’re changing cards in the field they’re at risk from things like rain, fumbling, dropping overboard or in the mud, etc. Incidentally, with SD cards I’d add “blowing away in the wind” to that list.

I remember years ago hearing people say they wouldn’t use a card larger than 1 GB because that was too much data to have in one place. But today that size card seems tiny. It’s useful to translate the gigabytes into a number of images for your camera. For example my EOS 5DmkII estimates that a 4 GB card will hold around 140 photos. For a regular outing photographing landscapes or macros, this is usually more than enough for me, but if I’m photographing action such as wildlife or airshows (or fast-changing landscapes from a moving ship) I can fill that very quickly! For me my busiest shooting times are when I’m in places like South Georgia or Antarctica, spending several hours at a time amongst wildlife and icebergs, and my busiest days can involve over 3000 photos! (Yes I do end up deleting quite a few of those later.) But for each outing from the ship I’ve found I’m unlikely to fill a 32 GB card.

If I had a very large and very fast card for each camera I’d be happy (as long as I had a spare card of some sort in my pocket for the eventuality of filling even that up). But the largest cards get very expensive, and if I compromise and get a cheaper slow one I’ll just be frustrated in the field. Because of the changes over time, the “sweet spot” of price/performance keeps changing. But for now the largest cards I have are 16 GB. I only have two 16 GB cards, with the rest being smaller cards (the oldest is now a 4 GB Extreme III from 2006: back then at 6 MB/s it was one of the fastest cards for my EOS 30D).
I prefer to start off with my largest card in the camera, so that I’ve got a safety-buffer if I do fill it (rather than quickly filling small cards and then shooting for ages on a big card and getting stuck if it runs out). So even though my 4 GB SanDisk Extreme IV is faster than my 8 GB and 16 GB Extreme III 30 MB/s cards, it tends to get used last. In 2010 I had occasional frustration because my fastest card for the 7D was an 8 GB Extreme, with a big drop in performance to the Extreme III 30MB/s cards.

Today on action shoots I tend to start off with a 16 GB Lexar 600X in the 7D, with 8 GB Transcend 600X and SanDisk Extreme cards as backups. A 16 GB SanDisk Extreme III 30MB/s starts off in the 5DmkII, with an 8 GB Extreme III 30MB/s as backup, and an assortment of 4 GB cards (Extreme IV, Ultra, Extreme III) as last-chance spares (or for temporary loan to workshop participants).
Of course I can use any card in either camera, but I do try to keep the fastest cards for the 7D.

Gento Penguin calling (A2_007618)

Conclusions
While I’m not always shooting intensive action, I’m conscious that future cameras are likely to only increase the bandwidth demands on my cards. I remember when the Ridata 2 GB card was faster than my cameras! The top-speed cards are obviously more expensive, but today I regard the SanDisk Ultra as the absolute minimum I’d purchase, preferring something like the SanDisk Extreme (or faster).
While the Ultra is likely to become a limiting factor in some future camera, I currently have no replacement camera in mind and cards just keep getting cheaper. Mind you I do feel I’ve got enough cards for now, and the only thing likely to drive me to purchase more is when I eventually do start using a camera with even larger files. At which point I’ll be stuck with the same old problem of what to do with my smaller and slower cards…
We each have to make our own compromises when choosing cards for ourselves. Hopefully this article will help some EOS users make those choices. Some will go for cards that are “fast enough for now” while others will try to make decisions for the future. Whatever you do, remember to check the current prices as well as the technical results before you choose.

7 Comments:

  1. Wish i’d found this earlier – after weeks trying to get an ‘honest’ opinion from others this post really settled my inner negative thinking – cant wait to start shooting video

  2. Many thanks for this. I especially like the audio recordings; they make the performance very clear.
    I have a 7D and am surprised that the buffer fills up at the same speed with all cards.

  3. For the 7D, comparing the Extreme vs. the Lexar 600x, interesting that the 1st 16 shots are in the same time (full buffer) then the next 10 are also in the same time, but the remaing time sees the Extreme with 14 shots and the Lexar 24.
    So, for the 1st 26, shots they are the same.

  4. Manfred, indeed the camera’s buffer hides the card speed from the user. But if you’re shooting intense action and the buffer fills up the differences do start to show.
    The exact timing of the buffer-full shots is hard to predict, and it’s generally easiest to deal with averages over short intervals.

  5. I am glad that you mentioned the system you use to start with the card with the largest capacity and saving the small one for later.

    I going on a safari trip in a month using a 40D RAW only. I bought 4 cards of 8G Ultra 30/mg. They are all Sandisk. I’m also taking some 2 GB and 1 G. Now that I read your article I’m going to star with the large card and saving the sm for later.

    I don’t want to delete the images form the cards, but I think I don’t have any choice because I’ll be running out of memory cards. As a consolation or back up, I’m taking a 500 HD and hopefully that should help me keep a back up copy.

    I’m also taking a netbook with 500 HD just in case

  6. Those Ultra cards are good speed-wise in the 40D (I replaced my 40D in 2009 with the 7D).
    On my first African safari I was using a 30D with RAW, and would probably have just been able to get away with that amount of flash storage.

    But just in case, I would make time at the end of every day to back up all the new images to BOTH hard drives (there should be some “file synchronization” software that you can use to do this efficiently). Then if you need to re-use cards you’ll be safe in the knowledge that you already have two other copies of the files. Of course, make sure you never leave all the cards+drives in one place (e.g. on game drives I take one copy with me just in case something bad happens to the camp).

    It’ll be easier to experiment with the copy procedures before you go rather than being stressed in the field and finding there was just one piece of software you needed to download before you “left the Internet”.

    Good luck on your trip!

Leave a Reply