7 Replies Latest reply on Dec 24, 2010 1:51 PM by Noel Carboni

    ACR 64bit processing multiples files at a time - performance

    dan3430

      Hi all -

       

      I recently built a new CPU with a raid 0 drive and a core i7 processor. The first few times I processed photos in ACR hosted in Photoshop 64 it would process 4 photos at a time which seems like it would optimally utilize all 8 cores. Recently I've noticed that sometimes it will process 4 photos at a time but usually it will do 3 at a time. I can't consistantly get it to run 4 at a time any more which makes me think photoshop isn't getting as many resources as it could/ should.

       

      Does anyone have an idea how acr decides how many raw images it will grab at once when it is processing out to jpgs? OR how to improve ACR processing performance?

       

      Thanks,

       

      -Dan

        • 1. Re: ACR 64bit processing multiples files at a time - performance
          dan3430 Level 1

          maybe this is a clue maybe it isn't... When I choose to output my 5dmkii cr2 files at their full resolution to jpg ACR would choose to process 3 files at a time and spent roughly 3.08 seconds a file. When I chose to output my jpegs at half resolution (10mp) ACR chose to process out 4 files at a time and spent 2.66 seconds a file.

           

          What does ACR do differently when rendering a full or half resolution file? I would assume that it still loads and processes the whole file? I'm hoping that understanding this will help me find out if (or where) there is a bottleneck in my system.   I know were not talking about huge amounts of time here, but I (as well as other people out there) batch 40,000 + raw images a year so every second counts!!!

          • 2. Re: ACR 64bit processing multiples files at a time - performance
            ChrisN45
            IMHO - bottleneck is memory.
            0.5 reslolution means 4x less memory.
            • 3. Re: ACR 64bit processing multiples files at a time - performance
              Yammer Level 4

              I shoot stock with a 12MP camera, and they prefer 16MP, so I generally leave the workspace setting on +1 size, which works out at 17.4MP. I find it just as good as using interpolation plug-ins.

               

              If I'm ever working on an image with lens and geometric adjustments, as well as noise reduction, gradients and crops, everything slows down significantly. If I drop down to the sensor native resolution, it speeds up quite a lot. I'd leave it on the native setting if only I could change the size at the last minute, without any side-effects, but inevitably I forget.

              • 4. Re: ACR 64bit processing multiples files at a time - performance
                Noel Carboni Level 7

                Good point, Yammer.  Noise reduction, lens correction, upsampling all contribute to a might higher CPU load in Camera Raw.  The fewer "fancy" features are enabled, the faster it will go.  On the other hand, those features actually do useful things...

                 

                Unless someone from Adobe speaks up, I'm certain none of us users can advise on more than generalities regarding how Camera Raw multi-threads.  I can say this (from observation):  The 32 bit version doesn't seem to multi-thread at all.  Note that direct Camera Raw runs from Bridge are 32 bit.

                 

                -Noel

                • 5. Re: ACR 64bit processing multiples files at a time - performance
                  MadManChan2000 Adobe Employee

                  ACR supports multiple cores and multi-threading on both 32-bit and 64-bit machines. Depending on other activities, ACR may not use all available cores when processing images (e.g., one core may be reserved for handling foreground activities such as user input, UI redraw, etc.).

                  • 6. Re: ACR 64bit processing multiples files at a time - performance
                    dan3430 Level 1

                    Here was the test that  I ran - 5dmkii files with adjustments, lens corrections, sharpening etc processed to jpg at native resolution. All 8 cores showed activity, but only 3 files were processed at a time. I then reprocessed the same batch of files with the same development settings as 10mp jpegs and ACR processed 4 files at a time.

                     

                    I ran this test several times with the output going to different drives (raid 0 and 7200rpm) to make sure it wasn't harddrive write speed.  The full res files took about 16% longer to process to jpg with all tests.

                     

                    I would like to understand if this has to do with a significant more amount of CPU processing that occurs between half and full res files, or if it is because ACR is only processing 3 files at a time as opposed to 4 and not full utilizing all cores. What factors does ACR consider when it decides how many files to process at a time?

                     

                    A previous user suggested that memory might be a bottleneck, I have photoshop set to be able to use 4gb of ram, but during raw processing I haven't seen it go over 1200mb.

                     

                     

                    As a side note - ACR might be able to multithread in 32 and 64bit modes, but ACR is significantly faster when hosted in 64bit photoshop than from bridge.

                    • 7. Re: ACR 64bit processing multiples files at a time - performance
                      Noel Carboni Level 7
                      function(){return A.apply(null,[this].concat($A(arguments)))}

                      MadManChan2000 wrote:


                      ACR supports multiple cores and multi-threading on both 32-bit and 64-bit machines. Depending on other activities, ACR may not use all available cores when processing images (e.g., one core may be reserved for handling foreground activities such as user input, UI redraw, etc.).

                       

                      There are definitely differences between 32 and 64 bit builds.   I have observed this myself.  I have 8 processor threads (2 actual cores with hyperthreading in each of two separate Intel Xeon DP 5060 3.2 GHz processors).

                       

                      I just tested ACR 6.3, with Photoshop CS5 on Windows 7 Ultimate x64 8 GB, with ATI Radeon HD 4670 video card...

                       

                      Photoshop CS5 12.0.3, File - Open, Canon EOS-40D raw file conversion to upsampled resolution of 6144 x 4096 pixels, some lens corrections, sharpening and noise reduction enabled.  Same exact image and settings for both tests.

                       

                      • 32 bit Photoshop running 32 bit Camera Raw:  13.8 seconds, Task Manager shows less than 25% load.

                       

                      • 64 bit Photoshop running 64 bit Camera Raw:  6.0 seconds, Task Manager shows 100% load.

                       

                      This is easily repeatable.

                       

                      Computer shows 5% to 8% load just sitting here (I'm playing music, and this forum chews up cycles too).

                       

                      I'm forced to conclude, despite what you wrote above MadManChan2000, that Camera Raw is using only 1 or 2 of 8 available threads in the 32 bit build, all 8 threads in the 64 bit build.

                       

                      Can you explain the difference please?  Is it possible the logic isn't simple, and while the 32 bit Camera Raw may use multiple threads for some things, that noise reduction or lens corrections aren't using all threads?

                       

                      -Noel