Recommended Hardware for PhotoScan:
Like most software developers, Agisoft maintains a list of system requirements for PhotoScan that can be used to help ensure the hardware in your system will work with their software. However, most "system requirements" lists tend to cover only the very basics of what hardware is needed to run the software, not what hardware will actually give the best performance. In addition, sometimes these lists can be outdated, list old hardware revisions, or simply outright show sub-optimal hardware.
Agisoft has done a better job with their list of system requirements than most, but because of how inconsistent those lists can be we've taken the time to perform testing to determine what hardware runs PhotoScan the best. Based on this testing, we have come up with our own list of recommended hardware - as well as specific configurations tailored with these recommendations in mind.
Each step in the PhotoScan workflow utilizes the CPU differently - some depending only on clock speed, others favoring more cores. For example, the Build Dense Cloud step can benefit from quite a few cores... but it is also heavily impacted by video card performance (which we will get to in the next section). Building the mesh and texture, on the other hand, do much better with high clock speeds and almost seem to favor fewer cores. Depending on the size of your image set and what quality settings you use during each step, the balance will swing in favor of different processors. The number of video cards you want to use also impacts CPU selection.
- Intel Core i7 8700K 3.7GHz (4.3/4.7GHz Turbo) 6 Core - For smaller image sets, with high quality (or lower) settings, the Core i7 8700K usually ends up being the best choice. Its high clock speed combined with a decent number of cores gives it the best overall performance in our testing, but its limiting factor is support for a maximum of 64GB of memory. That is fine for small to medium size image sets, but larger projects may require more memory to process effectively. Systems with this CPU also max out at 2 GPUs.
- Intel Core i9 7900X 3.3GHz (4.3/4.5GHz Turbo) 10 Core - Larger photo sets, in particular if the ultra-high quality option is selected for Build Dense Cloud, will be better off on a processor in Intel's Core X series. The i9 7900X is a good selection here: more cores, still decently high clock speeds, and not too costly. More important than core count, these processors also support up to 128GB of memory and 3 video cards.
One thing worth mentioning here is that there is a setting in the PhotoScan Preferences which we have found to usually lower performance and sometimes lead to crashes. We have a full article about it, linked to below, but the short story is that you will want to visit Tools -> Preferences -> GPU whenever you install or update PhotoScan. There, make sure that all your GPUs are selected and that the option to use the CPU during GPU processing is disabled (un-checked). As backwards as it may seem that improved performance slightly on average, in our testing, though you can always run your own tests with it both ways to see how your specific hardware fares.
- CPU Performance Comparison
- Dual Xeon CPU Performance and GPU Scaling
- CPU and GPU Preferences in PhotoScan
As we mentioned in the CPU section, the performance of PhotoScan's Build Dense Cloud step is highly affected by the number and model of video card(s) used in the system. With large image sets, and especially ultra-high quality settings, this part of PhotoScan can also take the longest: often half or even more of the total processing time. The Align Photos step is also GPU dependent, but it is a much shorter part of the overall workflow... and any GPU configuration that handles building the point cloud well will also be great for aligning photos.
- GeForce GTX 1070 8GB - A good baseline video card for PhotoScan, there is really no point to going lower than the GTX 1070. The 1060 is a lot slower without saving much money, and the 1070 has a good reputation for performance in other applications as well.
- GeForce GTX 1070 Ti 8GB - The GTX 1070 Ti effectively replaces the older 1080, with almost identical performance at a lower price point.
- GeForce GTX 1080 Ti 11GB - For the best performance in PhotoScan, we recommend the GTX 1080 Ti. Technically the Titan Xp is slightly faster, but it is only about 1-3% faster for several hundred dollars more.
One interesting thing with PhotoScan is that it is fairly good at utilizing multiple video cards. Compared to a single video card, adding a second GPU decreases the time it takes to build the dense cloud by about ~20-25% and adding a third GPU decreases the build time by another ~10%. Beyond that the improvement drops off substantially, with a fourth GPU only shaving 1-3% off the processing time - not enough to justify the added cost.
As demonstrated above, we recommend using NVIDIA GeForce video cards rather than Quadro cards. There is no specific benefit to using 'professional-grade' Quadro series cards in PhotoScan, and they cost far more than the mainstream GeForce models for similar levels of performance. Quadro cards sometimes have more video memory than their GeForce counterparts, but the amount of video memory was not found to be an important factor in our testing. Given the cost of a whole system that is oriented toward PhotoScan, and how critical GPU performance is, the higher-end (and thus faster) GeForce cards are usually most worthwhile.
Agisoft publishes a great document on memory requirements, based on three criteria:
- Number of images
- Size of images
- PhotoScan quality settings
All you really need to know is how many photographs you will be working with and the megapixels (MP) of those photos, plus the quality settings you want to use within the application. Their document is based around 12MP images, but as the RAM usage in PhotoScan is roughly linear, you simply need to adjust the recommended RAM to your resolution of photos you work with. For example, if you use 6MP photographs you will need approximately half the amount of RAM they recommend on that chart. Likewise, if you use 50MP images you will need four times the amount of RAM they show.
One suggestion we always make is to consider what you will be doing in the future. For example, if you think you will be increasing the resolution of your photographs or increasing the number of photos you work with then we highly recommend taking that into account when deciding on how much RAM you need. If anything go a little over to ensure that you never run too low on memory. That can have a huge, negative impact on performance!
With the falling costs associated with SSDs, we almost always recommend using an SSD for the primary drive that will host your OS and the installation of PhotoScan. The high speed of SSDs allows your system to boot, launch applications, and load files many times faster than any traditional hard drive. If your budget allows, it is also a very good idea to have a second SSD that can be used to store any projects you are actively working on.
One important factor we want to point out is that with the higher performance of modern platter drives means that you will not see a decrease in the time it takes to open, save or export a model by using a SSD. SSDs are great for improving the time it takes to copy or move around files, but for actually working with files in PhotoScan our testing (as shown in this chart) shows almost no performance difference between using a platter drive, an SSD, or even an ultra-fast PCI-E based NVMe drive.
Still, a fast drive will have a lot of other benefits for Windows and application performance - and having the OS / programs separate from your working files is a good approach in general. As such, we generally recommend a three hard drive configuration. For your primary drive a solid-state drive (SSD) is highly recommended as it will greatly improve how fast the OS and programs startup. A secondary SSD is great for your active projects, and the size of this drive will depend on how many images you have per project and how many projects you work on at a time. For long term storage, where the high speed of SSDs is typically not required, a larger traditional hard drive is a good choice as they are still much cheaper per GB than SSDs.
If your budget does not allow for three drives, the primary and secondary SSDs can be combined into a single drive if necessary. Alternatively, you could keep your active projects on a hard drive, leaving a single SSD purely for OS and applications, especially if you need a ton of space for your photos.