DIGIC4 cameras, faster DMA flags - please test

Started by dpjpandone, September 07, 2014, 05:12:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dpjpandone

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)

/* 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

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

Anyone want to make a version for the 5D Mark II for me to test out?

Walter Schulz



dpjpandone

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

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

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

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

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

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%

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

Ok, I'll redo the test with different resolutions and count frames.

PressureFM

Mercurial changeset e12ad3d84e7b (ML Nightly 2014Sep12)
RAW 1856x1044 25fps 1x

576
573
727
548
579
474
539
534
641
594


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

RAW 1856x1044 25fps 3x

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

580
542
603
575
618
571
605
653
594
591


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

RAW 1856x1044 25fps 3x

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


PressureFM

Well, if you want some specific tests, I'll gladly do them before committing.

1%

You could try a couple of buffer graphs, MLV still makes them I think and saves a pic.

PressureFM

Any easy way I can attach the buffer graphs I've made?

Audionut


PressureFM

Sorry for the large post.










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

a1ex

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

Mercurial changeset e12ad3d84e7b (ML Nightly 2014Sep12)
RAW_REC 1856x1044 25 fps 1x

1045
927
999
1057
1088
933
1117
1109
1010
1006

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

RAW_REC 1856x1044 25 fps 3x

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

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

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?