Hyperthreading & SMT causing low performance in Lightroom ClassicWritten on October 10, 2019 by Matt Bach
Summary of issue
Recently, we have noticed and investigated an issue where exporting and generating smart previews in Adobe Lightroom Classic is significantly slower when Intel Hyperthreading (HT) or AMD Simultaneous Multithreading (SMT) is enabled with certain processors. The issue is present in the latest build of Lightroom Classic (8.4.1), but we have confirmed it in versions as old as 7.5.
The level of performance gain that can be seen by disabling HT/SMT varies based on the specific CPU model and type of images being processed, but in some cases we recorded a 90% performance increase with HT/SMT disabled. At the moment, we have confirmed the issue with the following processors:
Heavily affected (up to 50%+ performance gain with HT/SMT disabled)
- Intel Core i9 9980XE
- Intel Core i9 9900K
- AMD Threadripper 2990WX
- AMD Threadripper 2970WX
Moderately affected (up to 25-50% performance gain with HT/SMT disabled)
- Intel Core i9 9960X
- Intel Core i9 9940X
- AMD Threadripper 2950X
Lightly affected (less than 25% performance gain with HT/SMT disabled)
- Intel Core i9 9920X
- Intel Core i7 8700K
- AMD Threadripper 2920X
- AMD Ryzen 9 3900X
Please note: Intel is aware of the issue and is actively working with Adobe on a solution
The issue has been confirmed with multiple brands of motherboard including Gigabyte, MSI, and Asus. At the moment, we do not have a permanent solution, but if you think you may be experiencing this issue there are a number of workarounds that may help.
Workaround #1: Disable HT/SMT in the BIOS
While disabling Hyperthreading or Simultaneous Multithreading in your motherboard's BIOS should resolve the issue, this may adversely affect other applications that benefit from HT/SMT. However, this is the most sure-fire way to get the full performance in Lightroom Classic if your systems is affected by this issue.
Note that every motherboard brand and model has this setting in slightly different locations. If you have a Puget Systems workstation, we highly recommend contacting our support department for assistance. Otherwise, the manual for your specific motherboard should have guidance on exactly where this setting is located.
Workaround #2: Set Lightroom Classic processor affinity
If you don't want to disable Hyperthreading or SMT on your entire system, you can tell Windows to only run Lightroom Classic on the "main" CPU threads through a setting called processor affinity. This is not quite as effective as simply disabling HT/SMT, but it will not affect any other applications.
There are many guides online for how to set processor affinity including this guide for doing it through Task Manager (note that this method needs to be done manually each time you run Lightroom) or this guide for creating a custom shortcut that launched Lightroom Classic with the appropriate affinity. If you follow either of these guides, you will want to set Lightroom.exe to use alternating cores starting with Core 0. I.e. Core 0, Core 2, Core 4, etc.
Alternatively, we put together a little utility that detects whether your CPU supports Hyperthreadring/SMT, and if it does, it launches Lightroom Classic (if it isn't already running) and properly configures the CPU affinity to mitigate this issue.
Be aware that this utility does not permanently change the processor affinity settings for Lightroom Classic. If you close Lightroom Classic and relaunch it through a normal shortcut or Creative Cloud, it will run with the affinity set to all cores.
Need help with your Puget Systems PC?
If something is wrong with your Puget Systems PC. We are readily accessible, and our support team comes from a wide range of technological backgrounds to better assist you!
Looking for more support guides?
If you are looking for a solution to a problem you are having with your PC, we also have a number of other support guides that may be able to assist you with other issues.