Agisoft Metashape 1.6.2 HT / SMT Performance AnalysisWritten on June 30, 2020 by William George
TL;DR: Disabling HT/SMT can sometimes increase Metashape performance
Agisoft Metashape does not perform well with very high core counts, so on processors with lots of cores it actually benefits from turning HT/SMT off. The exact cut-off for this effect is not clear, but it appears that CPUs which have 16 or more cores will get better performance with these features disabled. With lower core count chips (10 cores or fewer) you should keep them enabled.
Intel's Hyperthreading (often shortened to HT) and AMD's similar Simultaneous Multithreading (SMT) are features found on many mid-range and almost all high-end processors and enabled by default. These technologies work by duplicating a portion of each CPU core's pipeline, allowing a second software thread to be ready and waiting to execute commands as soon as the core finishes processing the thread it is actively working on. That doubles the number of "cores" the operating system sees, and in some applications can lead to a substantial increase in performance. However, in certain situations, it can also reduce performance - especially if a program struggles to use lots of cores effectively (shown by processing times stagnating or even go down as the number of cores in a CPU goes up).
In past articles we have observed that some photogrammetry applications seem to perform better with lower core count processors, so we wanted to look at whether HT and SMT could be negatively impacting performance in these programs - starting with Agisoft Metashape. If you would prefer to skip over our test setup and various benchmark results, feel free to jump straight to the Conclusion.
Looking for a Metashape Workstation?
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.
Listed below are the specifications of the systems we will be using for our testing:
|AMD Threadripper 3rd Gen Test Platform|
|CPU||AMD TR 3970X|
|CPU Cooler||Noctua NH-U14S TR4-SP3|
|Motherboard||Gigabyte TRX40 AORUS PRO WIFI|
|RAM||4x DDR4-2933 16GB (64GB total)|
For benchmarking photogrammetry applications we now have four image sets that we own the rights to, covering both smaller and larger size model and map projects. All of these image sets are available in our public Metashape benchmarks, split up to allow quick or extended tests, which you can download and run if you want to compare your system's performance to what we measured for this article.
- Rock Model - 36 photos at 20 megapixels each
- School Map - 51 photos at 18 megapixels each
- School Model - 439 photos at 18 megapixels each
- Park Map - 792 photos at 18 megapixels each
The focus of this article is on each processor's performance in Metashape with Hyperthreading or SMT enabled versus disabled, rather than comparing one processor to another, so the graphs are set up to reflect that. There are two results for each CPU, with HT/SMT on shown in blue and then off shown in red. These charts are showing the total processing time for each image set, in seconds, so smaller numbers and shorter lines indicate better performance. Scroll through the gallery below to see an overview of the results:
For those who want to dig into how HT and SMT impacted performance in different processing steps, here is a full table of the results:
Analysis & Conclusion
With three of the four processors we tested - the Core i9 10980XE, Ryzen 9 3950X, and Threadripper 3970X - turning Hyperthreading or Simultaneous Multithreading off increased performance in Agisoft Metashape - sometimes substantially, sometimes less so. However, even though those CPUs are among the fastest in many applications, they fall short in Metashape and are outperformed by the less expensive Core i9 9900K... which was also the lone model in this set of tests which benefited from leaving HT enabled.
It should also be noted that this is assuming you run a single instance of Metashape. We've also looked running multiple instances of this application to better harness the power of high core count processors. If you plan to try that, it would be best to test your specific workflow to see whether HT and SMT are beneficial or not in your exact situation.
Should Hyperthreading or SMT be turned on or off when running Metashape?
It really depends on what processor you are using: for high core count chips, turning HT and SMT off definitely increases performance - but with lower core count models it has the opposite effect. If you are buying a new workstation for Metashape it is a moot point, though, because the best performing processors in this application are the lower core count models with high clock speeds anyway.
Looking for a Photogrammetry Workstation?
Puget Systems offers a range of poweful and reliable systems that are tailor-made for your unique workflow.