conttime.lua: script to test continuous shooting speed

  • 2 Replies
  • 2021 Views
*

Offline reyalp

  • ******
  • 11583
conttime.lua: script to test continuous shooting speed
« on: 25 / November / 2016, 23:01:23 »
Advertisements
Here's a script to test shooting speed using "hold half, click shoot" method or Canon continuous. It uses the same technique as rawopint.lua, fixedint.lua and the various chdkptp shooting commands.

This script can be used to measure the maximum realistic shooting rate under different settings, SD cards, etc.

The shutter speed is fixed at 1/128, to ensure that the contribution of shutter speed doesn't vary between runs.

Review should be turned off in Canon settings, and ISO should not be AUTO since different ISO settings have different processing overhead.

Options
shots - number of shots to shoot
interval - interval between shots. The script will attempt to wait in the shoot hook (usb remote hook) to maintain this interval. If the interval is lower than the camera can sustain, the script will shoot as fast as possible
Use continuous mode - Shoot by holding the shutter down. The camera must have continuous mode enabled in the Canon UI, or it will exit with an error. If not checked, the script will hold down half shoot and click full for each shot.

Output is logged to conttime.csv in the root of the SD card.

Log columns
date - Camera date and time
exp - Camera image number
shot_ready_tick - the tick count when the camera was ready to shoot (in the remote hook)
ready_time - difference between the previous shot_ready_tick and the current. 0 for the first shot. Effectively, the time it took for the camera to be ready to shoot again.
wait_time - how long the camera waited in addition to ready_time to maintain the interval. This is how much "spare time" there at the selected interval. Negative real shooting rate is lower than the interval. 0 for the first shot.
shot_tick - the tick count at which the exposure was started (when the remote hook was allowed to continue)
raw_tick - the tick count when the raw hook was ready, meaning the exposure was complete and the sensor was read out, but before the jpeg was created and written.
raw_time - the time between shot_tick and raw_tick
info - information about the camera and settings, only logged on the first shot

Each time the script is run, a header row and a row for each shot is appended to the log. The log is only written after shooting is done, so it should not affect the shooting rate.

The main value of interest is ready_time, since this shows the approximate shooting rate the camera is able to sustain. If you set and interval, wait_time shows how much "headroom" you have while still maintaining the interval. Subtracting raw_time from ready_time can give you an idea of the jpeg processing + saving overhead.

Sample output from D10 in continuous and "hold half/click full"
Code: [Select]
date exp shot_ready_tick ready_time wait_time shot_tick raw_tick raw_time info
11/25/2016 19:25:36 591 742570 0 0 742570 743180 610 platform:d10-100a-1.5.0-4706 Oct 16 2016 15:58:11 shots:5 interval:0 cont=true
11/25/2016 19:25:37 592 743490 920 -920 743490 744100 610
11/25/2016 19:25:38 593 744410 920 -920 744410 745020 610
11/25/2016 19:25:38 594 745320 910 -910 745320 745920 600
11/25/2016 19:25:39 595 746230 910 -910 746230 746840 610
date exp shot_ready_tick ready_time wait_time shot_tick raw_tick raw_time info
11/25/2016 19:25:50 596 757170 0 0 757170 757770 600 platform:d10-100a-1.5.0-4706 Oct 16 2016 15:58:11 shots:5 interval:0 cont=false
11/25/2016 19:25:51 597 758160 990 -990 758160 758770 610
11/25/2016 19:25:52 598 759160 1000 -1000 759160 759770 610
11/25/2016 19:25:53 599 760150 990 -990 760150 760740 590
11/25/2016 19:25:54 600 761140 990 -990 761140 761740 600
Don't forget what the H stands for.

Re: conttime.lua: script to test continuous shooting speed
« Reply #1 on: 20 / October / 2018, 15:44:17 »
SD1200, U1 card, Nextech 32GB:
Code: [Select]
            date exp shot_ready_tick ready_time wait_time shot_tick raw_tick raw_time info   10/20/2018 15:56:22 35 31560 0 0 31560 32290 730 platform:ixus95_sd1200-100c-1.4.1-5097 Aug 27 2018 04:06:39 shots:5 interval:0 cont=true   10/20/2018 15:56:24 36 34050 2490 -2490 34050 34750 700
   10/20/2018 15:56:27 37 36680 2630 -2630 36680 37380 700
   10/20/2018 15:56:29 38 39210 2530 -2530 39210 39910 700
   10/20/2018 15:56:32 39 41610 2400 -2400 41610 42320 710
   date exp shot_ready_tick ready_time wait_time shot_tick raw_tick raw_time info   10/20/2018 15:56:49 40 58730 0 0 58730 59440 710 platform:ixus95_sd1200-100c-1.4.1-5097 Aug 27 2018 04:06:39 shots:5 interval:0 cont=false   10/20/2018 15:56:52 41 61440 2710 -2710 61440 62150 710
   10/20/2018 15:56:54 42 64000 2560 -2560 64000 64700 700
   10/20/2018 15:56:57 43 66890 2890 -2890 66890 67590 700
   10/20/2018 15:57:00 44 69640 2750 -2750 69640 70350 710
   
SD Card 2, U1, Lexar 16GB:
Code: [Select]
            date exp shot_ready_tick ready_time wait_time shot_tick raw_tick raw_time info   10/20/2018 15:58:03 45 19320 0 0 19320 20040 720 platform:ixus95_sd1200-100c-1.4.1-5097 Aug 27 2018 04:06:39 shots:5 interval:0 cont=true   10/20/2018 15:58:06 46 22390 3070 -3070 22390 23090 700
   10/20/2018 15:58:08 47 24770 2380 -2380 24770 25470 700
   10/20/2018 15:58:10 48 27050 2280 -2280 27050 27750 700
   10/20/2018 15:58:13 49 29440 2390 -2390 29440 30140 700
   date exp shot_ready_tick ready_time wait_time shot_tick raw_tick raw_time info   10/20/2018 15:58:26 50 42330 0 0 42330 43040 710 platform:ixus95_sd1200-100c-1.4.1-5097 Aug 27 2018 04:06:39 shots:5 interval:0 cont=false   10/20/2018 15:58:28 51 44710 2380 -2380 44710 45420 710
   10/20/2018 15:58:30 52 47270 2560 -2560 47270 47970 700
   10/20/2018 15:58:33 53 49620 2350 -2350 49620 50320 700
   10/20/2018 15:58:35 54 52240 2620 -2620 52240 52940 700
   
In other words, 2.65s each for card1 and 2.40s each for card2
That's 1358 and 1500 shots/hour
« Last Edit: 20 / October / 2018, 16:33:29 by jmac698 »

Re: conttime.lua: script to test continuous shooting speed
« Reply #2 on: 22 / October / 2018, 10:12:31 »
This script can be used to measure the maximum realistic shooting rate under different settings, SD cards, etc.

Two things to consider:

The shutter speed is fixed at 1/128, to ensure that the contribution of shutter speed doesn't vary between runs.

The maximum speed depends on the size of the RAW / JPG files. For the M3, the RAW files vary between 18 and 32MB. In a totally underexposed picture you get to about 18MB. The same thing happens in a totally overexposed picture. So you should make sure that in these images, the exposure is about right. Also, the objects should contain many structures.

Some cameras contain an internal buffer. This takes up about 5 RAW and 25 JPG files in the M3. To come to a reasonable conclusion, you should therefore be well above the buffer size. The following plot of the M3 shows quite clearly (RAW files) that the interval of the first recordings is very short and then increases. This is independent from the SD Card.


 

Related Topics