Skip to main content
Known Participant
September 25, 2017
Question

Performance - From a Computer Science Point of View

  • September 25, 2017
  • 74 replies
  • 2259 views

Like others, I am having a frustrating time with Lightroom editing photos from a performance standpoint.

My workflow typically has me creating a new catalog for a particular photo shoot, importing the (RAW) photos and applying a custom preset on import and then editing the photos one by one in the Develop Module.

After editing a number of photos (say, 10-25) the performance of Lightroom degrades significantly and I have to exit Lightroom and re-start it to continue editing (and continue to do so until I have completed my editing).

I have done significant research into Lightroom performance issues and have tried all of the suggestions and all possible permutations thereof to no avail.  I have also profiled Lightroom with a number of Windows development tools to take a look at it's I/O, threads, memory, etc. and nothing specifically stands out.

I do understand that Lightroom stores it's editing changes (whether via a preset or manually) in a SQLite database and then applies these changes to a photo in 'real-time' to render what you see on the screen.  That leads me to believe that the program is having a difficult time querying the database and applying the changes in 'real-time'... it is almost like there is a 'leak' as one moves from one photo to the next.

Edit: I took a quick look at the Lightroom .lcat file which is actually a SQLite database.  In it, I found 102 tables.  Still looking at the relationships between these tables.

All of the suggestions to add faster disks, larger caches, build previews, etc. are all masking the real culprit which I believe is an internal data structure, database, etc. issue.  My 'evidence' for this is that exiting and re-invoking Lightroom will always provide me great performance until I reach 10-25 photos and then I have to 'rinse and repeat'.

What I would like to know from the Lightroom software development team is whether there is a way for uses to 'peek' inside the program to know what is actually going on from an operating system and computer science perspective (open files, memory allocation, threads, locks, etc.).  I would assume that the Lightroom software development team knows exactly what is going on as the program is likely instrumented.  Knowing what it is that is causing Lightroom to gradually degrade its performance will help users understand how our behavior might need to change when using Lightroom to improve our experience (like perhaps not/not applying presets to hundreds of photos at once rather, do so as you edit one photo at a time).

I do love Photoshop and Lightroom and recommend the products to everyone that ask me for advice but I also believe that Lightroom's performance issues are serious and need to be addressed.

Thank you for your consideration

This topic has been closed for replies.

74 replies

fingham1Author
Known Participant
September 25, 2017
What I meant by 'real-time' rendering is that Lightroom is a parametric editor that applies adjustments to the source image to render what you see on the screen and export as a finished photo.  I do not doubt that  Lightroom creates a .jpg with all of your adjustments to display on the screen but that .jpg is created by taking the 'raw' image and then applying, one-by-one, all of the adjustments you have made to the image.  And I believe each image's adjustments are stored in the .lrcat (SQLite database) file.

Speaking only about the database, if the data in the file becomes fragmented or the underlying B-Tree(s) become unbalanced, I can see how that might cause a performance issue.
JohanElzenga
Community Expert
Community Expert
September 25, 2017
"I do understand that Lightroom stores it's editing changes (whether via a preset or manually) in a SQLite database and then applies these changes to a photo in 'real-time' to render what you see on the screen. "

No, it uses a slightly different method. Lightroom renders a jpeg preview with the settings. That preview is then presented on the screen. In the develop module this is effectively the same as rendering directly to the screen would be, but if you are in other modules there is no real time rendering. You just see the preview, which could actually be fairly old if the image has not been edited for a while. The previews for these modules are stored in '<catalog name> previews.lrdata' in your catalog folder. The previews used in the develop module are stored in the Camera Raw Cache elsewhere.
-- Johan W. Elzenga
fingham1Author
Known Participant
September 25, 2017
I downloaded the latest SQLite tools for Windows (my platform) and am using the sqlite3.exe program to take a look at the underlying Lightroom SQLite database (tables, indexes, etc.) found in the {filename}.lrcat file.  While this will not pinpoint the performance issue, it is illuminating to see the 104 tables that Lightroom uses in its main database.
Inspiring
September 25, 2017
This is a very interesting question !  I am a software developer too and I often wondered how I could try to analytically approach the LR performance problem. I never noticed this progressive degradation of performance that you mention but indeed, sometimes, LR is blazingly fast and I cannot really pinpoint why. I once read that applying some development presets in a different order led to a totally different experience (i.e. always disable expensive camera corrections before using the correction tool...). I really hope that Adobe engineers will accept to shed some light on this (an instrumented flag when LR starts would alllow us all to collect info and maybe try to figure it out).
(Pardon my strange english by I am french speaking)