A camera with a memory card write rate that is "too slow" will "stutter" and start to take shots at a slower and variable rate, after a number of continuous shots, when the camera's internal buffer fills. After this point the shooting rate will fall to a rate determined by the memory card and the size of files involved. See below for explanation of these formulae. **In a well designed system.** - (1) **Max frames before camera "stutters"** = [fps x file_size - Write_rate]/Buffer_size Where: - fps = frames per second shooting rate - file_size = MN size of each photo - Write_rate = average MB/s rate achieved by card/camera combination - Buffer_size = MB size of camera's internal buffer. The camera's buffer size may not be widely publicised in some cases but is a critical factor in the overall result. **Once the camera buffer is full, average achievable shooting rate** is - (2) **fps_bufferfull** = Write_rate/file_size. - fps_bufferfull is shooting rate achievable from "stuttering point" on **Buffer Size:** From discussion at end, if buffer size is unknown, a practical tests will allow buffer size to be tested: - (3) **Buffer_size** = [fps x file_size - Write_rate]/Max frames before camera "stutters" _________________ **Because:** - Note that in the following I often say "about" when talking about data rates or frame rates. If you care why rates vary slightly see **"About?"** at the end Results vary somewhat with the way in which manufacturer's implement their systems but, in a well designed system, the ability of a camera to shoot frames at full speed at high resolution is affected mainly by the camera's internal buffer size and the rate at which data can be moved out of the buffer and onto the memory card. - If the rate at which your camera generates data is slower than the rate at which data is moved to the memory card then the card will (usually) not be a bottleneck. You can take pictures at the camera's full rated speed indefinitely. There are secondary factors that can influence this, and manufacturers may set artificial limits for marketing or other reasons, but this is a good guide. - Conversely, if shooting data rate exceeds storage data rate then the camera's internal buffer memory will start to fill up. Once the buffer memory is full the photo shooting rate is limited by the average data rate of the card. - So, a high data rate card SHOULD allow you to take more high resolution photos before the camera starts to "stutter" than a low data rate one will. The file size plays a major factor in this calculation. An APSC 16MP camera shooting in very-fine JPEG mode may produce 10 MB files. A full frame 24 MP camera may produce say 25 MB RAW files. So a 40 MB/s card will allow continual transfer of 40/10 = 4 JPEGs per second from the APSC camera. The same card will allow 40/25 = 1.6 frames per second from the full frame camera. Clearly 1.6 frames per second is not acceptable with cameras now reaching 12 frames per second. (eg Sony A77). The "saving grace" is the cameras internal buffer. By definition, the internal buffer memory will accept data at the maximum rate and number of frames that the camera is capable of. (ie if it was not able to do this then the maximum rate would be lower. The time that maximum rate that can be achieved is about When shooting data rate exceeds card writing rate the data accumulates in the buffer at about (Data_rate_in - Data_rate_out) MB/sec. eg if you shoot 5 frames per second from an APSC camera as above at 10 MB/frame = 50 MB/s and the card writes at 40 MB/s then the excess data flows into the buffer at (50-40) = 10 MB/s. If you have a 64 MB buffer you can maintain this rate for about 6.4 seconds ~=25 frames If you have a 128 MB buffer you can maintain this rate for about 12.8 seconds != 50 frames. 50or even 25 frames continuous will be adequate for most people (but not everyone. HOWEVER! ! - try that again with the 25 MB files from the full frame RAW camera. 4 fps x 25 MB = 100 MB/s The buffer will fill at a rate of 100 - 40 = 60 MB/s A 64 MB buffer will fill in 64/60 = just over 1 second = 4 frames. A 128 MB buffer will fill in about 128/60 = just over 2 seconds and 8 frames. Once the buffer is full the APSC frame rate with 10MB files will drop to 40/10 = 4 frames per second = not much lower than the 5 fps that the camera is capable of. BUT once the buffer is full the full frame camera writing 25 MB files will slow to an average of 40/25 = 1.6 fps :-(. **WHAT CARD SPEED DO I NEED"?** If you know mean filoe size, target frame rate per second, memory card transfer rate and camera internal buffer size then you can use the formulae at the top to decide if the memory storage rate is fast enough for you. If you don't know the camera buffer size you can work it out reasonably well by the method below BUT the method by itself will answer the same questions if you have cards of each sort to experiment with. - Choose camera storage mode - eg JPG fine or RAW or whatever. - Set frame rate - this may be user settable or may be just 'flat out". - At least while getting familiar with this method, disable "extra features". No HD, exposure or white balance ranges, or adaptive schemes that may consume processing power. - Position camera pointing at some well lit and non varying scene. A tripod is not needed. - Set camera so a shutter speed of no more than say 1/250th second will be used. Faster is OK. The aim is to not have shutter open period be a significant part of frame to frame time. - Hald pressure shutter to focus or use other means to focus or set to manual, so camera is "all ready to go". - Press and hold shutter and count the frames until it "stutters". - Try this a few times with each memory card concerned and try whatever modes are of interest (JPEG, RAW, RAW compressed etc) - Upload files, read file sizes and apply formulae, BUT the "frames-to stuttering" count is really the key measure all by itself. File sizes of all files in a single run should be very similar - if not, something is varying. If you do not know camera buffer size and want to know, you can rearrange the initial equations to calculate it. Because - Max frames before camera "stutters"** = [fps x file_size - Write_rate]/Buffer_size then - **Buffer_size** = [fps x file_size - Write_rate]/Max frames before camera "stutters" ___________________ **ABOUT?** Note that in the above discussion I often say "about" when talking about data rates or frame rates. This is because data is transferred from the sensor tp the internal buffer at the end of each photo at a rate that is (probably) high compared to the memory card write rate and in a time period which is (probably) short compared to the frame to frame period. Depending on camera design this transfer may stop or slow the data flow to the memory card - neither of these in a top line camera (probably). In addition, the camera will probably not allow a new frame to be taken if the buffer does not contain enough spare capacity to hold the worst case (largest)image that may be produced. Or, it may allow this and store it "in the sensor" until enough buffer memory is free. As the buffer may have enough memory for a fraction of a frame the time to write the next frame will vary. None of this matters too much in most cases - it's usually the average rates that we care about. but, knowing why we say "about" when dealing with what may appear to be a precise system helps explain what we see. **Probably / usually ??? :-) -** - because each manufacturer will implement systems differently and make different compromises or optimise different aspects the results are never 100% certain. Some manufacturers may implement a true "dual port" internal buffer so that it cam be read and written at full speed without any conflicts. Another may decide to accept occasional slow downs and may instead use a larger memory, or charge a lower price, or hope to make more profit. But, overall the above simple formulae should be very useful in getting an idea of what a given memory card will achieve and what effect it will have on an existing system.