7
\$\begingroup\$

Most cameras have very little buffer, which means when you burst you can usually only shoot 5-10 photos before running out and then you would have to wait for it to write to the card before you can burst again. Why is this? Is buffer in camera built with a different technology than computer RAM? Computer RAM is so cheap nowadays why can't they put more of it in cameras?

\$\endgroup\$
3
  • \$\begingroup\$ Agree, but camera manufacturers try to save money. If most users do not need a feature they would prefer to shave of the few dollars extra cost. Also the buffer has to keep the RAW images so 10 Images could easily be half a gig on modern cameras. I also suspect that they use on chip memory \$\endgroup\$
    – Joop
    Commented Jul 29, 2013 at 1:58
  • \$\begingroup\$ RAM is cheap in the size factor used by PCs. RAM in the size factor used inside a DSLR is more expensive. \$\endgroup\$
    – Michael C
    Commented Jul 29, 2013 at 2:16
  • \$\begingroup\$ @erotsppa Is your question only about increasing the buffer size or are you concerned about writing the buffer to card too? \$\endgroup\$
    – Regmi
    Commented Jul 29, 2013 at 4:15

3 Answers 3

7
\$\begingroup\$

Consider this: If your camera had twice as much buffer memory it would be able to take roughly twice as many photos before running out of memory, but it would also then take roughly twice as long for the buffer to clear. So after the initial extra 5-10 shots twice a deeper buffer would allow, you would then still be limited to the exact same frame rate you currently experience until the buffer clears. This may or may not have a significant impact on what it is you wish to capture at high frame rates.

The absolute limit of how many photos you can take over an extended period is governed by the slowest link in the chain. This could be processor speed (which can be dealt with somewhat by disabling certain in-camera processing options), the maximum transfer speed the camera is capable of in moving data to the card, or the maximum speed the card itself is capable of writing. There is also some evidence that camera makers may limit the maximum number of frames allowed in the buffer to match the performance of the processor and write speed of the available memory cards. Three years after the initial release of the Canon 7D, a firmware update allowed the number of RAW files shot at 8fps to increase from about 15 to 25 frames. The number of RAW+jpeg images moved from 6 to 17. The number of jpeg images increased slightly, from 126 to 130 if using an UDMA CF card. The performance improvements allowed all 7D bodies already produced to increase frame rate without any hardware modification to the camera itself, but did require the use of faster memory cards than were available when the 7D was released. It also incorporated improved processing algorithms used by the in-camera image processor, but this improvement was relatively minor compared to the improvement in write speed to the CF card (as evidenced by the dramatic improvement in RAW performance compared to the very modest improvement in JPEG performance).

As has been mentioned on this forum regarding many other features of various DSLR bodies from the major manufacturers, it seems they often limit the capability of the lower end models so that the premium models can command a higher price. What usually happens is that the R&D spent on developing the Pro bodies eventually filters down to the consumer level in the next generation of product cycles. Notice that the 7D firmware version 2 wasn't released until after the 1D X had replaced the 1D mkIV and the 1Ds mkIII. Otherwise, the mid-tiered 7D would have been able to outperform the flagship 1-series at several points relating to burst performance.

\$\endgroup\$
2
\$\begingroup\$

I imagine that a lot of this has to do with marketing as much as or more than technical limitations. If a consumer level camera could shoot with the speed and duration of a pro camera then it would limit the marketability of pro cameras. Most people buying consumer level cameras don't need to shoot long bursts so that's a feature they can pack into pro cameras and charge a premium for.

On the technical side, the inside of a camera is pretty packed with technology and while memory might be cheap in dollars, it still takes space that could be used for a new sensor/processor/wifi chip/etc.

Back to the marketing, it'd probably sell more cameras to say that it takes better pictures (even if most people won't notice the difference) or has wifi than to say you can take 15 consecutive pictures instead of 10.

\$\endgroup\$
1
\$\begingroup\$

Keep in mind the data rate involved in photos is very high, even by memory standards. Say a camera can save 24 megapixel raw files at 30mb each and can take a shot at 1/500 of a second shutter speed. That means it needs to be able to save 30mb of information in 1/500 of a second. That's 15gb per second of transfer rate while it is held for processing by the processing circuitry.

Even if the buffer is an intermediate dump from the initial frame buffer, you're still talking about several hundred megabytes per second on the faster burst modes. The cache memory has to be extremely fast and also extremely low power. This doesn't leave a lot of options for how it is produced and can greatly increase the cost and space requirements.

In addition, your still base limited by the rate you can write to the card since eventually the buffer has to empty. Using less extra fast cache allows for the cache to be writing to the card while information is still being dumped from the sensor and worked on by the processor. This is why a faster card will extend the maximum burst length significantly in a good camera (to the point that shooting jpegs can go almost indefinitely on higher end models.)

\$\endgroup\$
5
  • \$\begingroup\$ Considering how 'slow' DDR3, the latest in PC RAM tech is (en.wikipedia.org/wiki/DDR3_SDRAM) and the amount of throughput required as shown above (240G/s) at peaks, I am sure they do some sort of on die cache as @Joop above has mentioned. It might be similar to L2 cache in PCs. Since L2 caches are very expensive compared to ordinary RAM, this basically comes down only to the cost as the biggest factor. \$\endgroup\$
    – Regmi
    Commented Jul 29, 2013 at 4:11
  • \$\begingroup\$ The 1/8000 sec time factor is a little bit of a red herring, since the camera uses a rolling shutter to expose each part of the sensor for 1/8000 sec over a period of about 1/500 sec., and that doesn't include the time needed to cycle the mirror and focus/meter between each frame. The Canon 1D X can only do all of that at 12 fps. To hit 14 fps it must keep the mirror locked up and not meter/focus between frames. \$\endgroup\$
    – Michael C
    Commented Jul 29, 2013 at 8:44
  • 1
    \$\begingroup\$ So the absolute minimum write-speed would be 30 Mb times 14 = 420 Mb/s. Of course it can not operate that slow, but I'd say 240 Gb/s is a bit fancy too. \$\endgroup\$ Commented Jul 29, 2013 at 9:36
  • \$\begingroup\$ @MichaelClark - I realize it is a bit of a red haring, and I mention that a frame buffer is likely used to slow the needed speed, but it highlights the point that memory speed needs to be high to support multiple simultaneous access of large amounts of data, so having a couple hundred megabytes is likely a bit more pricy than simple system RAM. You are right about the sync speed thing though. Updated to a 15GBps data rate assuming an intermediate frame buffer isn't used. \$\endgroup\$
    – AJ Henderson
    Commented Jul 29, 2013 at 13:50
  • \$\begingroup\$ Shutter speed isn't the critical factor: frame rate is. It doesn't matter if the camera can take photos at 1/8000 second (0.125 milliseconds) if it can't take another image for 1/12 of a second (83 milliseconds). In either case (1/8000 or 1/12 second exposure time) the camera has the full 83 milliseconds to process/write the image before the information for the next image comes off the sensor. \$\endgroup\$
    – Michael C
    Commented Nov 7 at 16:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.