Agisoft PhotoScan 1.4.1 - CPU Performance ComparisonWritten on May 11, 2018 by William George
PhotoScan is a photogrammetry program: an application that takes a set of images and combines them to create a 3D model or map. This article is part of a series looking at how different aspects of computer hardware affect PhotoScan performance. For more information on this software, or to see the other entries, check out our introductory article.
PhotoScan makes use of the CPU to some degree in every processing step, but the way the CPU is used varies. Some steps favor clock speed, others core count - and some are also GPU accelerated. To get a better handle on how the CPU affects overall performance, and to answer the question of which CPU is best for PhotoScan, we put several modern Intel and AMD processors to the test.
Methodology and Test Hardware
Because the GPU has an impact on processing times in some workflow steps, we made sure to use the same video card in each system we tested. Multiple video cards can also improve performance in PhotoScan, but we have already looked at that in another article.
We used relatively small photo sets to avoid the amount of memory that each CPU supports becoming an issue. Please note that RAM capacity is absolutely something to consider if you work with large image sets, though, and we will discuss it more in the analysis and conclusion sections. As with the other recent articles we have published, all tests were conducted with "High" quality settings.
If you would like more details about the full hardware configurations we tested on, and the image sets we used within PhotoScan, simply click here to expand the following section.
|Motherboard:||Gigabyte Z370 AORUS 5||Gigabyte X299 Designare||Gigabyte X399 AORUS Gaming 7|
|CPU:||Intel Core i7 8700K 3.7GHz
(4.7GHz Turbo) 6 Core
Intel Core i9 7900X 3.3GHz
|RAM:||4x Crucial DDR4-2666 16GB (64GB total)|
|GPU:||NVIDIA GeForce GTX 1080 Ti 11GB|
|Storage Drive:||Samsung 960 Pro M.2 PCI-E x4 NVMe SSD|
|OS:||Windows 10 Pro 64-bit|
|Software:||Agisoft PhotoScan 1.4.1|
|Image Sets (from PhotoScan website)|
|Monument (32 photos)||Building (50 photos)|
Here are results for the Building image set:
And here are results for the Monument image set:
With both of these image sets we can see some trends:
- Align Photos is effectively identical across all the CPUs tested. This is almost entirely GPU bound and doesn't vary more than 10% - which could well be within the margin of error since we are dealing with times of around 20-30 seconds.
- Build Dense Cloud favors CPU core count overclock speed, with both Core i9 and Threadripper processors doing well. This is also GPU accelerated, though, so having more than one video card would be beneficial here as well.
- Build Mesh heavily favors the Core i7 8700K, indicating that core/thread count is not a big factor here - it is all about clock speed and instructions per clock. Threadripper lags behind here as well, indicating there may be some optimizations here that favor Intel.
- Build Texture is the shortest of the steps that are impacted heavily by the CPU, and the i7 8700K wins here as well. Threadripper does much better this time than with the Build Mesh step, though, besting the Core i9 chips.
In both cases, the Core i7 8700K ends up coming out as the overall winner. It has such a big lead on the Mesh and Texture steps that it makes up for the slower performance in Build Dense Cloud... plus, the Z370 platform it is on could support a second GPU for even faster performance there. Given its price point, the 8700K is a stellar processor choice for PhotoScan in workloads where the Build Dense Cloud step is no more than half the overall processing time and where the 64GB memory limit isn't a bottleneck.
For situations where Build Dense Cloud is a more substantial part of the overall calculations - for example, when using 'Ultra High' quality settings on that step - a higher core count processor could gain enough advantage that it would outpace the mainstream 8700K. Something in the Core i9 family would do well there, surpassing AMD's Threadripper chips. Those CPUs also support up to 128GB of memory, to better handle large photo sets, and they could scale up to three GPUs as well (for even more speed in Build Dense Cloud).
With truly massive image sets, though, even 128GB (the max for Core i9 and Threadripper processors) might not be enough. In those cases, Intel's Xeon processors would probably be the best option - since they support Registered ECC memory for extremely high RAM totals. Since that is sort of a niche use case, we will look at PhotoScan performance with single and dual Xeon processors separately.
Here is a chart that summarizes the results above:
Of the CPUs we tested, Intel's Core i7 8700K was the fastest overall for PhotoScan. It is limited to 64GB of memory, though, and showed weaker performance in the Build Dense Cloud step - so if either of those is a concern for you then an Intel Core i9 processor will address both issues. Those can handle up to 128GB of memory, three video cards (as opposed to two on the 8700K), and have more cores to help with the portions of PhotoScan which are well threaded. Sadly, Threadripper isn't a good choice for PhotoScan.
What about Xeon processors and Mac workstations? We will be testing those soon, so stay tuned!