Skip to main content
Inspiring
May 1, 2021
Question

CPU speed drops when exporting images

  • May 1, 2021
  • 3 replies
  • 1028 views

Hi All,

I noticed tonight when exporting a batch of images that my cpu was only being used at 60% AND the cpu speed was just at or just below 2ghz, even though my cpu's base speed is 3.10.

As soon as the export finished, cpu utilization was 2-5% and the speed was 3.1 to 3.9 ghz

 

Does anyone know why the CPU isn't being fully utilized? And why the speed drops while it's being used?

CPU temp shouldn't be an issue, it's water cooled. Disk usage wasn't too high either, plus it's on an SSD drive. The CPU I have is an intel i9-7940X 3.1ghz

This topic has been closed for replies.

3 replies

merkkAuthor
Inspiring
May 11, 2021

Hi all,

Thanks for all the replies. Sorry I didn't get the notifications for the replies until today for some reason.

Anyhow, I think the suggestion of the cooling system being the problem might be the right answer in my case. Right now, with the CPU being idle, i'm getting temps right around 50c which seems higher when paired with this cooler (corsair h100i v2). Thats with the pump running at max and the fan running at around 1300rpm.

johnrellis
Legend
May 1, 2021

Normally, LR tries to use roughly 90% of your CPU for exporting, leaving 10% for interactive use, and the operating system should set the clock speed to maximum for such a heavy workload.

 

Your symptoms indicate a problem with the cooling system. If the processor starts running too hot, it will set its clockspeed lower until it cools down.  Install the Intel Extreme Tuning Utility,

Intel Power Gadget, or one of the many third-party utilities to monitor the processor temperature along with the clock speed.  If you see the speed drop in concert with high temperatures, you've got a problem with the cooling system.

Inspiring
May 1, 2021

@johnrellis I know you are very knowledgeable, so likely I misunderstand your statement of "...Normally, LR tries to use roughly 90% of your CPU for exporting, leaving 10% for interactive use".

Window 10, like other modern OS's does have a lot of scheduling flexibilit  but I didn't the LrC would set itself to realtime in order to control the amount of CPU it used. Normally, a program/task/thread is governed by a time-slice assigned to it. If the system is idle, a program could received more time-slices which would increase it's observed CPU time.

 

I didn't think LrC would allow itself to use 90% of CPU which would likely require running in Realtime priority.

 

 

johnrellis
Legend
May 2, 2021

Prior to LR 6, LR did all exports single-threaded, not taking advantage of multiple cores.   LR 6.0 starting using all the cores, and CPU utilization would be 100%.  Lots of users complained that they couldn't use LR interactively during exports, so LR 6.2 throttled that back, and some users observing as low as 60% utilization complained that it wasn't 100%.  Adobe engineer Becky Sowada said in response

 

"This was an intentional change to address feedback from customers who need Lightroom to be more responsive while an export is in progress. It is a tradeoff - use more CPU and make exports fast, or use less CPU and make Lightroom more responsive. We feel the current CPU usage is an appropriate middle ground between the two extremes."

 

She didn't explain how LR implements that policy.  I've observed over the recent years with my own LR and helping others that exports typically take 85% to 95% utilization.

 

The policy implementation could be as simple as "process no more than n exports concurrently", where = floor (0.88 * number of logical processors).    So on a CPU with 4 cores and 8 logical processors, LR would do no more than 7 exports concurrently.  Since exporting on modern CPUs is CPU-bound and not at all limited by disk I/O, this might work reasonably well.

 

Or the policy implementation could be a little more dynamic: LR would increase the number n of concurrent exports until CPU utilization exceeds 85%.   

 

In either of these possibilities, the policies could be tweaked based on the number of physical and number of logical processors, to ensure that smaller CPUs don't get overwhelmed and that larger CPUs more effectively use their idle processors.  And neither of these possibilities relies on any kind of real-time scheduling or thread prioritization from the operating system.

 

(*) Logical processor is the more common operating system term for what Intel confusingly calls a "thread".

Inspiring
May 1, 2021

I think you are erroneously expecting your CPU to be higher when it likely doesn't need to be. You also didn't say what your GPU is doing where some processing may be done (not sure the GPU is used during Export)

 

Since you are exporting, it is likely when the CPU is lower, the disk I/O is higher with write operations.

 

Check in Windows performance to see if you are running on 'Balanced' or 'High Performance'. I have my PC strapped to always use maximum CPU.

 

In other words, unless you feel your exports are slowing down, you don't have a problem.