Puget Systems print logo
Read this article at https://www.pugetsystems.com/guides/1149
Article Thumbnail

Agisoft PhotoScan 1.4.1 - CPU and GPU Preferences

Written on May 3, 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 both the CPU and video cards in a computer, during different steps of the photogrammetry workflow. One of the configuration options within the application also allows the CPU to be utilized during steps that are primarily performed on the GPU (video card) - and this is enabled by default. My assumption going into this was that having the CPU at work would improve performance, and so we tested both with it enabled and disabled to see how big the improvement was - and how much impact the model of CPU and number of GPUs would have. However, what we found surprised us.

Methodology and Test Hardware

To get to the option this article is looking at, run PhotoScan and go to the Tools -> Preferences menu. Then select the GPU tab. This is what it looks like with the setting enabled (checked) and disabled - it is at the bottom of the dialog window:

PhotoScan Preferences - GPU Tab - CPU Enabled

PhotoScan Preferences - GPU Tab - CPU Disabled

To make sure we have a wide range of data points to pull results from, we used three platforms covering high clock speed (courtesy of Intel's Core i7 8700K), high core count (via Intel's Core i9 7960X), and a maximum number of GPUs (available on AMD's Threadripper 1950X). On each platform, we tested every supported video card quantity, with the top-performing GeForce GTX 1080 Ti as the graphics card of choice. In keeping with the rest of this series, 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 .


Here are results for 1 - 2 GPUs on the Z370 platform, with an Intel Core i7 8700K processor:

And here are results for 1 - 3 GPUs on the X299 platform, with Intel's Core i9 7960X:

And finally, here are the results for 1 - 4 GPUs on the X399 platform, using AMD's Threadripper 1950X processor:


In five of the six charts above, having the "Use CPU when performing GPU accelerated processing" option turned off (de-selected) actually improved performance! That is rather unintuitive, especially since that option is enabled (selected) by default. The one exception was the Monument image set with the Core i7 8700K processor, which has the fewest cores but highest clock speed of the processors we tested.

To see if the GPU itself, not just the GPU quantity, had an impact we did one more test - this time using a single GTX 1060 as the video card. That is about the lowest-end card we would recommend using for PhotoScan, and we kept it with the i7 8700K since that is where we saw the closest results. Here is how it came out:

Once again, the Monument image set is a little faster with the CPU option enabled - and now the Building image set resulted in a tie. It seems, then, that with a slower GPU the CPU can be more beneficial.

Another thing to keep in mind with the results shown above is that we did our tests at "High" quality. There is an option above that for building the dense cloud, "Ultra High", which will take substantially longer. Many users might also work with larger image sets, which also take more processing time. We already saw some differences between the two small image sets we use, so your mileage may vary even more with either larger image sets or different quality options.


So what does all this mean? Assuming you are using a higher-end CPU and video card combination, it looks like turning the "Use CPU when performing GPU accelerated processing" OFF (by un-checking it) is most likely to perform the best. With a lower-end video card, probably just leave it enabled. If you have a chance, though, it would be ideal to test your own hardware setup and image sets to see which way gives you the best performance. Either way, it is a good lesson not to assume that default settings are the best.

Please feel free to report any results you find in the comments below, along with any questions or other input you may have.

Photogrammetry Workstations

Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.

Configure a System!

Labs Consultation Service

Our Labs team is available to provide in-depth hardware recommendations based on your workflow.

Find Out More!
Tags: Agisoft, PhotoScan, CPU, Processor, Intel, Core i7, Core i9, AMD, Threadripper, GPU, Video Card, NVIDIA, GeForce, Performance, Scaling, Comparison

So if I have, Ryzen Threadripper 3970X (128gb RAM) with 1x: NVIDIA GeForce RTX 2080 Ti 11GB, I'll better not use CPU when performing GPU accelerated processing?

Posted on 2019-12-13 09:39:04

I haven't specifically tested it on that CPU, but in general I have found that turning that off (unchecking the box - which should usually be unchecked by default) gives the best results.

However, I feel like I should also note that we have found the Threadripper chips to not be ideal in Metashape at this time. They aren't horrible either, but if your focus is on Metashape then there are better options for less money. I am trying to investigate what is going on with this in more detail, and will be sending performance logs to the folks at Agisoft support to see if they can figure out what is causing this.


Posted on 2019-12-13 18:03:10

Big thanks for the info. I was working with turned off and I feel the program run faster.

May be useful for research ... when box was checked, sometimes , creating a dens cloud in height quality, I encountered with blackout:

The processor cooling system is running at full power (the computer is still running.); The display shows that it is disconnected from the power supply (blackout);
I was waiting for 1 day in that position and nothing changed, I'm not able to determine what was going on. I can't turn off my computer with a button I.must to disconnect PC from power supply.

With unchecking the box I have not encountered such a problem.

Posted on 2019-12-17 09:47:01

Oh, strange! I never ran into that, but it is certainly one more good reason not to have that boxed checked in the future :)

Posted on 2019-12-17 18:00:24

Hi, I analyzed the benchmark results in this article and it seems that these benchmarks confirm our observation that there is no significant difference between GPU and CPU processing time in Metashape/PhotoScan?. In some cases, CPU performs even better. Although your tests show some improvements when using multiple GPU-s, it is not a significant gain (e.g. only 20% improvement when using 2 x high-end GPU). Is my observation correct, or maybe I missed some configuration of the software parameters?

Posted on 2020-02-18 13:57:55

That is correct: we found that there was some benefit to multiple GPUs in these results, but it was limited to certain processing steps and even within those was not a massive gain.

Also, please note that this article (and thus these results) are from a ~2 year old version of Photoscan. We have much newer articles with more recent versions, though the story is largely the same... if anything, it seems like the video card (and especially multiple cards) is even less beneficial today than it was when this article was published.

Posted on 2020-02-18 16:57:52