4
\$\begingroup\$

I am using Lightroom (Windows) to tag all of my pictures using face detection, however I have 80,000 pictures and it is going very very slowly. Looking at task manager it appears to process an image and then have the CPU idle for 8 or 9 seconds. Any ideas as to what the bottleneck might be? Or some way to speed this up? My guess is that LR just does not have a good face detection pipeline and I just have to deal with it but I wanted to see if this is normal or if there are tips on how to speed things up.

My images/lrcatalog/cache are all on a large NVME SSD. Below is a task manager screenshot. After noticing the GPU following suit with the CPU, I disabled GPU usage just in case transferring data from the CPU to the GPU was causing issues but it didn't help. The C drive is the primary drive with all the data.

enter image description here

\$\endgroup\$
7
  • 3
    \$\begingroup\$ I'm voting to close this question as off-topic because it is about system optimization that is only tangentially related to photography. If an application (such as LR) does not support multithreading and prefetching files, then there's not much that can be done to optimize a process using that application. \$\endgroup\$
    – Michael C
    Commented Nov 7, 2019 at 20:53
  • \$\begingroup\$ If I rephrase the question to be: "is this normal?" Would that be more on topic? \$\endgroup\$ Commented Nov 7, 2019 at 21:39
  • 3
    \$\begingroup\$ I'm voting to leave this question open. It's definitely somewhere near the edge of topicality, but the use & quirks of tools involved in or specifically for the business and production of photography are on topic, IMO. \$\endgroup\$
    – scottbb
    Commented Nov 8, 2019 at 0:40
  • 1
    \$\begingroup\$ From the help center: On topic questions include: "using photographic equipment" - If a computer running lightroom for managing isn't part of that for modern photography, then I'm not really sure what to say. This kind of question is up there with "What's going wrong with my auto-focus?" - Rather on-topic and useful information in my mind. \$\endgroup\$ Commented Nov 8, 2019 at 17:45
  • \$\begingroup\$ @scottbb That's precisely why I think this question is off-topic. I see nothing about this question that differentiates LR "as a photo processing tool" from any other non-photographic application that is not optimized for a multithreaded environment. There are no "quirks" that make multithreading and prefetching any different for LR than an application that computes precise numbers for an engineering or architectural application. \$\endgroup\$
    – Michael C
    Commented Nov 10, 2019 at 19:06

2 Answers 2

7
\$\begingroup\$

Here's my photography-centric answer. How often do you need to do this? Pretty much just once for the full collection. Maybe the equivalent once every few years. At 10 seconds an image, this is going to be done in under ten days.

So, just let it go and worry about something else for ten days.

I know this goes against the generally-admirable instinct to do things efficiently, but sometimes, letting it go is the right move. It's a case of this xkcd:

time saved

... where "how often" is "once".

Now, of course, from Adobe's point of view, this is something that their software does quite a lot, when you consider all of their userbase and use-cases. So, the equation is different for them — and I wouldn't be surprised to see this get better in a future release.

In the meantime, though, just let it crank and find something else to do with your time.

\$\endgroup\$
1
  • \$\begingroup\$ I think that is the right thinking. \$\endgroup\$ Commented Nov 8, 2019 at 10:58
4
\$\begingroup\$

A quirk that I have found with the Lightroom versions I have used [LR3 through Classic'19 at time of writing] is that they've been designed to 'play nice' with other programs by not willingly sucking up every last resource they can get their hands on.

Instead they will use a moderate resource level to avoid bogging the system down entirely and preventing you from using other programs while LR chugs along crunching numbers in the background. [Others will say that Adobe just failed to design it around a multithreaded workload... But that's another matter.]


A work-around to this design choice is to be a little more hands-on with how you schedule tasks you assign to Lightroom by grouping your work into multiple batches that you then ask Lightroom to work with.

Instead of selecting everything you want done in one go [Import/Export/Applying Presets/Processing Facial Recognition/etc], select 1/3rd of it at a time and ask Lightroom to do the task. Then select the next third and get it rolling, then the final third.

Lightroom will then typically use a larger portion of overall system resources in this case, as you've specifically told it to run parallel tasks, and in my experience will result in completing things sooner.


The exact split you use will depend on your personal hardware and what else you have going on the system at the time. It is worth experimenting with, and of course is subject to change with new versions of the software.

Keep in mind that large batches of photos IS a big chunk of number crunching, and there is only so much that can be done to track down bottlenecks or options to speed things up.

\$\endgroup\$
1
  • \$\begingroup\$ Great suggestion! I'll keep this in mind when I find another similar situation. \$\endgroup\$ Commented Nov 9, 2019 at 11:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.