Puget Systems print logo

https://www.pugetsystems.com

Read this article at https://www.pugetsystems.com/guides/1153
Article Thumbnail

Agisoft PhotoScan 1.4.1 - CPU Performance Comparison

Written on May 11, 2018 by William George
Share:

Introduction

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 .

Results

Here are results for the Building image set:

And here are results for the Monument image set:

Analysis

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.

Conclusion

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!

Recommended Systems for Agisoft PhotoScan

Tags: Agisoft, PhotoScan, CPU, Performance, Comparison, Intel, Core i7, Core i9, Coffee Lake, Skylake X, AMD, Threadripper, Zen
Guardmy6

Thank you for such detailed research. I look forward to more.

Posted on 2018-07-12 13:06:08
Nenad Surjanac

Fisrt of all, I really like your tests, but I have a question regarding CPU's and PS.

I saw your other comparison of CPU's, and on large image sets, the TR's actually performed better than 8700K when considering long time of processing. Difference in 60, 100, or even a 1000 seconds doesn't matter, (unless it changes in linear fashion) when doing 1000's of images of 3D models for several days. You did test in Pix4D with their data sets of over 2000 images with pretty simple model where TR1920x was 3 hours faster then 8700K. Considering the max amount of RAM possible for 8700K and TR 1920x, and if TR better handles large amount of images than TR seems as a better choice or am I wrong? Will you be doing test with similar amount of images (at least 20Mpix) for PhotoScan?

Thank you.

Posted on 2018-08-23 12:55:34

Pix4D and PhotoScan do the same sort of work, but seem to behave a bit differently in the course of their calculations. I would not recommend taking advice about how one performs and trying to apply it to the other.

Additionally, in the months since publishing some of the Pix4D results, I have found that largest image set I had available (the City one with over 2000 images, which you referenced above) doesn't process in a predictable and reliable fashion. I'm not sure why, but due to inconsistency issues I won't be using that image set going forward.

The largest image set I have available now, and which seems to behave in a reliable manner, is ~700 photos. I am in the midst of testing it on Pix4D with the new Threadripper 2 2990WX and will be publishing an article about that in the coming weeks. I think I'll revisit PhotoScan shortly thereafter, but I may wait till Intel releases their next CPUs as well.

If 700 photos isn't big enough to properly simulate the sort of work you are doing, I'd be happy to give a shot to larger image sets - if someone can provide one that I could use.

Posted on 2018-08-23 16:56:20