Author Topic: DIGIC4 cameras, faster DMA flags - please test  (Read 14974 times)

dpjpandone

  • Senior
  • ****
  • Posts: 284
DIGIC4 cameras, faster DMA flags - please test
« on: September 07, 2014, 05:12:30 PM »
I need help testing DMA flags on DIGIC4 cameras. "Enhanced" shows improvement on 5D3, but it seems that the "Original" flags are working better on older cameras (confirmed on 7D, and likely to show improvement on 50D, 5D2, etc...)

from edmac-memcpy.c (starting on line 122)

Code: [Select]
/* see wiki, register map, EDMAC what the flags mean. they are for setting up copy block size */
    #if defined(CONFIG_7D)
    uint32_t dmaFlags = 0x20001000; //Original are faster on 7D and possibly other DIGIC IV cameras
    #else   
    uint32_t dmaFlags = 0x40001000; //Enhanced
    #endif

if you have a digic4 camera and can compile, please add your camera to the if statement, and report your results in this thread, or in  pull request #589

Thanks!


 

N/A

  • Hero Member
  • *****
  • Posts: 576
  • Dreaming in 14 bit
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #1 on: September 08, 2014, 12:37:47 PM »
Using your build in the 7d thread, my max write speed for MLV with sound and GD off and extra hacks on jumped from a constant 79/80 MB/s to 81/82 MB/s with no discernible negative effects. I'll try a few more modes/settings and see if I notice more differences.
7D. 600D. Rokinon 35 cine. Sigma 30 1.4
Audio and video recording/production, Random Photography
Want to help with the latest development but don't know how to compile?

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #2 on: September 08, 2014, 01:07:00 PM »
Anyone want to make a version for the 5D Mark II for me to test out?

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 8119
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #3 on: September 08, 2014, 01:24:19 PM »
Use link in N/A's footer ...

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #4 on: September 08, 2014, 04:13:15 PM »

dpjpandone

  • Senior
  • ****
  • Posts: 284
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #5 on: September 08, 2014, 07:22:46 PM »
Yes, I get about the same 2mbps increas on my 7D (consistent with N/A's results) This change for 7D is already in the pull request, thanks for confirming!

Please let us know how it goes on 5D2, if you can't see an obvious increase on the raw indicator, another way to test is to select a resolution (in 3x mode) that you know is higher than your camera can record continuously, and count how many frames you get before capture stops.

N/A

  • Hero Member
  • *****
  • Posts: 576
  • Dreaming in 14 bit
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #6 on: September 21, 2014, 03:36:02 AM »
Using this build, I can even record mlv with audio and GD on and still get ~81 MB/s, thanks for the work! Any more development for the 7d you're working on?
7D. 600D. Rokinon 35 cine. Sigma 30 1.4
Audio and video recording/production, Random Photography
Want to help with the latest development but don't know how to compile?

dpjpandone

  • Senior
  • ****
  • Posts: 284
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #7 on: September 21, 2014, 04:46:16 AM »
I'm working on a few things, but I don't know when they will be merged into nightlies... my coding skills are quite amateurish, and I sometimes feel like I'm annoying Alex by submitting pull requests that aren't up to his standards. He has worked very hard to ensure that the entire platform is stable and portable, and I have a lot to learn before I will be able to contribute anything you might consider a "new" development. Most of the pull requests I have open are just backporting some of the performance-related enhancements from One Percent's fork. In the meantime,  I will continue to try to bring the 7D up to date, and I'll continue to post in the 7D-specific thread to keep everyone informed. Thanks for providing feedback on the DMA flags, I hope some people who own other DIGIC4 bodies (and can compile) will chime in so everyone who's still using 1st gen HDSLR's can benefit. I did post a build for the 5D2 in the "want to help with development but can't compile" thread so if someone could try that and confirm, I would really appreciate it.

Greg

  • Contributor
  • Hero Member
  • *****
  • Posts: 607
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #8 on: September 21, 2014, 02:32:48 PM »
500D

0x40001000
edmac_memcpy 321.85MB/s
edmac_copy_rectangle 274.94MB/s

0x20001000
edmac_memcpy 302.28MB/s
edmac_copy_rectangle 243.67MB/s

N/A

  • Hero Member
  • *****
  • Posts: 576
  • Dreaming in 14 bit
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #9 on: September 22, 2014, 12:19:43 AM »
The shoot I used this build for went great today. Only thing I noticed was with MLV, Greyscale preview on in 5x, when I hit zoom to go to 10x and back to normal view it hangs up. Have to either go into ML menu and turn off Greyscale preview or disable 10x zoom to avoid this.
Would love to have ML Greyscale preview on half shutter in 5x mode to check framing when using Canon preview. Would save SO much time.
7D. 600D. Rokinon 35 cine. Sigma 30 1.4
Audio and video recording/production, Random Photography
Want to help with the latest development but don't know how to compile?

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #10 on: September 22, 2014, 06:13:07 PM »
On 5D Mark II.

Build 559643aff9ca+ (ML Nightly.2014Sep09)

edmac_memcopy : 318.26MB/s
edmac_copy_rectangle : 256.93 MB/s

Build e12ad3d84e7b (ML Nightly.2014Sep12)

edmac_memcopy : 393.08 MB/sec
edmac_copy_rectangle : 290.02 MB/s

Build 75649ffe291b+ (ML v2.3.NEXT.2014Feb04)

edmac_memcopy : 287.96 MB/s
edmac_copy_rectangle : 259.25 MB/s

I got the BMPs for all the benchmarks but I can't seem to attach them.

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #11 on: September 22, 2014, 06:31:06 PM »
Problem with using edmac memcpy to test is that its a fixed size and testing one thing, ram -> ram. MLV will have different amounts of data depending on resolution. Also it might vary somewhere here edmac -> memory -> card. Should run the test on 7D and see if it comes up higher on the memcpy test.

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #12 on: September 22, 2014, 09:17:13 PM »
Ok, I'll redo the test with different resolutions and count frames.

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #13 on: September 23, 2014, 01:35:19 PM »
Mercurial changeset e12ad3d84e7b (ML Nightly 2014Sep12)
RAW 1856x1044 25fps 1x

Code: [Select]
576
573
727
548
579
474
539
534
641
594

Average: ~573 frames (removed highest and lowest score)

RAW 1856x1044 25fps 3x
Code: [Select]
526
779 (1ms idle)
616
804 (11ms idle)
642 (2ms idle)
658
561
655
765
618 (1ms idle)

Average: ~662 frames (removed highest and lowest score)

Mercurial changeset 559643aff9ca+ (ML Nightly 2014Sep09)
RAW 1856x1044 25fps 1x

Code: [Select]
580
542
603
575
618
571
605
653
594
591

Average: ~592 frames (removed highest and lowest score)

RAW 1856x1044 25fps 3x

Code: [Select]
790 (5ms idle)
667 (4ms idle)
777 (1ms idle)
607
587 (2ms idle)
728
681
737
586
695

Average: ~685 frames (removed highest and lowest score)

dpjpandone

  • Senior
  • ****
  • Posts: 284
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #14 on: September 23, 2014, 06:42:29 PM »
safe to say we should add 5D?

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #15 on: September 23, 2014, 06:45:48 PM »
Well, if you want some specific tests, I'll gladly do them before committing.

1%

  • Developer
  • Hero Member
  • *****
  • Posts: 5936
  • 600D/6D/50D/EOSM/7D
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #16 on: September 23, 2014, 06:52:25 PM »
You could try a couple of buffer graphs, MLV still makes them I think and saves a pic.

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #17 on: September 24, 2014, 09:13:58 AM »
Any easy way I can attach the buffer graphs I've made?

Audionut

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3657
  • Blunt and to the point
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #18 on: September 24, 2014, 11:25:39 AM »
Upload to http://imgur.com/

Paste the links here.

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #19 on: September 24, 2014, 12:11:50 PM »
Sorry for the large post.










Check the way I formatted your post :) //Audionut
Thanks :) //PressureFM

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #20 on: September 26, 2014, 08:41:45 AM »
Do you mind doing the same test with RAW?

(I think one should fix the slowdown issues in MLV first - the variation of write speeds at similar settings is too high for my taste)

PressureFM

  • Member
  • ***
  • Posts: 171
Re: DIGIC4 cameras, faster DMA flags - please test
« Reply #21 on: September 26, 2014, 04:41:59 PM »
Mercurial changeset e12ad3d84e7b (ML Nightly 2014Sep12)
RAW_REC 1856x1044 25 fps 1x

Code: [Select]
1045
927
999
1057
1088
933
1117
1109
1010
1006
Average: ~1031 frames (removed highest and lowest score)

RAW_REC 1856x1044 25 fps 3x

Code: [Select]
1529
1596
1787
1456
1473
1554
1447
1359
1457
1549
Average: ~1508 frames (removed highest and lowest score)

Mercurial changeset 559643aff9ca+ (ML Nightly 2014Sep09)
RAW_REC 1856x1044 25 fps 1x Sep09

Code: [Select]
1191
1015
1172
1091
1244 (4ms idle)
1214 (3ms idle)
1104 (3ms idle)
1034
1138
1006

Average: ~1120 frames (removed highest and lowest score)

RAW_REC 1856x1044 25 fps 3x Sep09

Code: [Select]
2404 (501ms idle)
2422 (502ms idle)
2080 (368ms idle)
2537 (494ms idle)
2206 (489ms idle)
1932 (483ms idle)
2829 (496ms idle)
2090 (361ms idle)
1924 (492ms idle)
2483 (477ms idle)

Average: ~2269 frames (removed highest and lowest score)

I noticed that as soon as it broke the 4GB barrier it went from 4-12ms idle to 361+ ms idle. Something we should check into?

I saw write speeds up to 79,3MB/s (which is the fastest I’ve seen from this KomputerBay 1000x 32GB card).

It doesn't seem like I can make the Buffer Graphs with the RAW_REC module, is that correct?