Here are my initial buffer measurements on the A7RVI. I'm in the middle of a deep-dive of BIONZ, which includes a detailed analysis buffer performance, but for this post I'll mostly just present the results and limit my discussion of the deep analysis and theory for a future post I have planned.
As I mentioned in my post here, in-camera sharpening has a significant effect on BIONZ buffer performance, even for raws. To make these results relatable, I'll be presenting the results for a detailed subject with no in-camera sharpening, which should approximate typical real-world usage. I also include results with in-camera sharpening so that readers can see the worst-case scenario buffer performance.
Here is a chart showing 30 fps buffer performance for the various image formats, for CFE and SD:
The graph depicts both the initial duration of 30fps shooting and the subsequent sustained fps after the drop. The solid lines are CFE - the dotted lines are for SD, with the color matched for the common image formats tested between the two card types (ex: the black line is for lossy raw, with solid black line showing CFE lossy raw and dotted showing SD lossy raw). The legend under the graph describes these results in more detail, plus adds a measurement of the buffer clearing rate, which measures how long the camera takes to clear the buffer once the shutter is released.
Here is this information in detailed table form:
Notes about the above results:
All tests use a printed B+W Gaussian noise target, created via Photoshop's Filter -> Noise -> Add Noise; Amount=250%, Distribution=Gaussian. Here is what the image looks like in digital form and here is what it looks like as shot by a Sony camera, both with and without in-camera sharpening.
Methodology is as follows: All shot with a Sony 50mm f/1.8 prefocused in MF mode. The shutter is held down for 25 seconds - the FPS is calculated as a rolling 10-frame average of the inter-shot EXIF creation time deltas. The buffer clearing rate is measured by recording a video of the rear LCD display that counts-down the number of frames in the buffer as they're being cleared, then measuring the time-delta of the resulting recording and dividing by the total number of frames written.
In continuous-shooting modes, the camera uses a 14-bit readout for the lossless and lossy(HQ) modes but drops to a 12-bit readout for the loss and jpg modes (Sony reference). To view how this affects noise performance, see DPR's A7RVI review, specifically the Image Comparison tool under the IQ/Dynamic range section (direct link).
The "FPS @ Shutter Release" and equivalent "MB/s @ Shutter Release" measure the average sustained FPS for the last 3 seconds of the 25 second test, ie the steady-state sustained shooting rate at the tail end of the 25-second burst.
The A7RVI's DRAM buffer appears to be approximately 9GB, which is based on the approximately 135 frames sustained at 30fps frames when using a very slow SD card (9 MB/s) that is unable to clear frames during the 30fps and also based on the maximum number of images observed in the buffer when the shutter is released.
In most scenarios tested, the FPS is limited by the 700 MB/s media write limit (CFE) or equivalent 260 MB/s limit (SD) for the cards I used. The only exception is the JPG mode, which appears to hit the BIONZ FPS limit of 15.40 FPS for my detailed, unsharpened noise target.
Note how the FPS performance of lossy(HQ) is less than 50% of lossy even though the resulting file sizes are the same. I will explain my theory about this in my future deep-dive post but explain it tersely here: I believe BIONZ can perform all its image processing operations on two native internal format types - uncompressed (used by uncompressed, lossless compressed, and lossy(HQ), and compressed (used by lossy and jpg/heif). The computation and bandwidth demands of the former explain the similar FPS results of lossless to lossy(HQ) and lossy to jpg/heif, all after accounting for any relevant media-rate limitations.
There is no drop in performance when using dual CFE cards in backup mode, ie the same rate is sustained to both cards as it is to a single card, at least for the scenarios which approach the maximum CFE write speed.
A spot check of of 20fps was also performed - the initial # of frames captured at 20 fps rose commensurately but the sustained FPS after buffer-full was the same as the 30fps rate.
As stated, all measurements were in MF mode. I did a spot check of FPS during continuous AF (ie, holding down AF-ON during the capture) and did not see any difference in measured results.
More Detailed Stats
Here is a table of the same measurements above but with both unsharpened and sharpened measurements, plus a few additional columns with more detailed stats.
Notes about the above results:
The "# Frames Written During 30fps (estimate)" estimates the number of frames the camera has cleared out of the buffer for the duration the camera was able to maintain 30fps. This calculation is as follows: value of the "FPS @ Shutter Release" multiplied by "# Seconds @ 30fps"
The "# Frames @ 30fps Minus #Written (estimate)" takes the estimate above and subtracts it from the "#Frames @ 30fps" measurement. In other words, it attempts to estimate how many images are in the buffer at the moment the camera drops from 30fps to its sustained rate. Note #1 compares this result to the later observed "# Frames in Buffer @ Shutter Release", which occurs 25 seconds after the start of the test when the shutter is released and the buffer clearing rate measurement begins. Note the two columns roughly coincide, as expected.
Note #2 shows the only test where the buffer clearing rate measurably outperforms the sustained shooting rate, ie the FPS clearing rate of the buffer after the shutter is released vs the sustained FPS rate while the shutter is held down. This measurement will be important in my future deep-dive BIONZ analysis where I compare the factors limiting buffer performance.
Note #3 shows the jpg buffer measurement using a 9 MB/s SD card, supporting the estimated 135 DRAM buffer depth. Note that my investigation indicates jpgs and lossy raws share the same buffer pool size (future analysis will explain how I reached this conclusion) - so the ~9 GB DRAM buffer estimate is based on 135 buffers x average lossy raw size. This analysis is further supported by the similar # of frames in the buffer @ shutter release for the lossy raw measurements.
All the blue-shaded rows are for maximum in-camera sharpening; all the white-shaded rows after each of those is the same test but with no in-camera sharpening. I'll highlight these differences further in the next section.
In-Camera sharpening
Here is a table focusing on the effect of in-camera sharpening on buffer performance:
Notes about the above results:
The buffer impact from sharpening is most significant in scenarios where buffer performance is BIONZ-limited rather than media-write speed limited, ie the lossy raw and jpg tests. Note the highlighted yellow and red areas in the table showing the drop in FPS and associated MB/s rates for these two modes. Note that in the other scenarios listed, the FPS impact from sharpening is much smaller or non-existent due to the media rate limit being hit before the BIONZ limit.
Here are graphs of the above results for each of the various formats, ie maximum in-camera sharpening vs no sharpening, all for CFE: