Recommended Hardware for Pix4D:
Like most developers, Pix4D lists system requirements 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 show sub-optimal hardware.
Because of this, we created our own benchmark tool for Pix4D and have conducted our own testing here at Puget Systems. Based on the results of those tests, we have come up with our own list of recommended hardware - as well as specific workstations tailored with these recommendations in mind.
Each step within Pix4D makes use of the CPU in a different way. Overall, Pix4D is moderately effective at utilizing multiple CPU cores - with the effectiveness of added cores varying between the different processing steps. Clock speed is important too, though, so the best processor choices balance these two specifications.
Pix4D's website includes a description of how the CPU (and other components) are utilized in each step, which can be broken down pretty simply:
- Step 1 (Initial Processing) benefits greatly from high clock speed, without much regard for core count. In small projects, this step can be 25-45% of the total processing time, making clock speed a big factor in that type of workload - but in larger projects, it may only be 10% or less of the total time.
- Step 2 (Point Could and Mesh) utilizes all the cores in a CPU, and while clock speed is still a factor it definitely takes a back seat. This step is often the longest, especially on models, where there is no Step 3, making high core count processors more appealing for those projects.
- Step 3 (DSM, Ortho, and Index) is only used when working with maps, and falls between Steps 1 and 2 in terms of how it uses the CPU. Core count is still important, but it seems like the number of cores used effectively is more limited.
In the past, the type of project you were running in Pix4D would impact which CPU was going to be the fastest. Each step uses the CPU differently, and with no one processor that combined high core count plus good per-core performance there was a lot of variance. Then AMD launched their 3rd gen Ryzen and Threadripper chips... and everything changed.
- AMD Threadripper 3970X 32 Core - This is the fastest CPU we've yet tested in Pix4D, hands down. However, it is also fairly expensive - so if you want similar performance while saving several hundred dollars look at the next spot in this list.
- AMD Threadripper 3960X 24 Core - Only a few percent slower than the 3970X, but with a $700 lower MSRP, this processor provides great performance with better value (price:performance ratio) than its big brother.
- AMD Ryzen 9 3950X 16 Core - This processor doesn't quite perform on the same level as the Threadripper models, but it is even more affordable and still roundly beats all of Intel's current offerings. Moreover, with smaller projects the performance difference won't be as noticeable.
- Pix4D 4.4 Intel Core vs AMD Ryzen and Threadripper Performance Roundup
- Pix4D 4.3 vs 4.4 Performance Differences
- Pix4D 4.3 Intel Core i7 & i9 vs AMD Threadripper
- Pix4D Public Benchmark
- Pix4D 4.3 CPU Comparison
- Cloud vs Local Processing
While most of the processing in Pix4D is done on the CPU, having a CUDA-compatible GPU can speed up processing in some parts of the calculations. Because of the CUDA requirement, only NVIDIA graphics cards can be utilized for this boost - and moreover, only a single GPU can be used at a time. That means one mid-range to high-end video card is all that you need for Pix4D.
- GeForce RTX 2070 8GB - This is our go-to recommendation for Pix4D, as it performs in line with higher-end cards like the RTX 2080 and Titan RTX while costing less.
- GeForce RTX 2060 6GB - This slightly lower model video card isn't all that much slower than the RTX 2070 in Pix4D, so if you need to save some money it is a solid choice.
We also tested NVIDIA's Quadro series, which we found requires some customization of settings in order to work well. Even then, the performance is no better than GeForce models - so the only reason to use a Quadro would be if you run other applications on the same workstation which require one. In that case, make sure to check out the article in which we describe how to get the best performance from a Quadro card in Pix4D.
- Pix4D 4.3 GeForce & Titan RTX Comparison
- Pix4D GeForce RTX GPU Comparison
- Pix4D Multi-GPU Scaling
- Pix4D GPU Comparison (GeForce, Titan, and Quadro)
Unfortunately Pix4D doesn't publish a lot of details about memory usage, but between the information on their website and our own testing we can say that the amount of RAM needed to process a project depends on a combination of factors:
- Number of images
- Size (resolution) of images
- Pix4D quality settings
If you want to know how much memory your projects utilize, to help select the right amount in a new workstation, here are a couple of ways to find out:
- During processing, open Task Manager and monitor the Memory graph (on the Performance tab). This will require you to keep an eye on it, though, as the graph normally only shows the last minute or so of data.
- Pix4D generates a log file during each processing run, and on every line it shows RAM usage as a percent of the total physical memory you have installed in the computer. It can be time consuming, but searching through that log file to find what the peak memory usage amount was can be done - and then simply multiply the amount of RAM in that computer by the highest percentage from the log file to find out how much was being used. For example, if a log file shows a peak of 36% RAM usage on a system with 64GB then it was maxing out at about 23GB of memory used.
Additionally, a 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 images you work with then we highly recommend taking that into account when deciding on how much RAM you need. If anything, go a little overboard to ensure that you never run low on memory. That can have a huge, negative impact on application 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 Pix4D. The high speed of SSDs allows your system to boot, launch applications, and load files many times faster than any traditional hard drive. Pix4D's own website indicates that drive speed is a huge factor in Step 3's performance, going so far as to say that "the speed of the [drive] defines the processing speed" for that step. We have not yet performed our own testing to quantify that, but with how little a fast SSD costs these days we strongly advise selecting a M.2 NVMe type drive if at all possible. We have defaulted to that as the primary drive on our recommended workstations.
If you have multiple, large projects then it may be worth having a second SSD for holding the images, but there is no known downside to having them on the primary SSD if they fit. A second (or third) drive could also be used for data backup, and for that purpose even a traditional hard drive would be fine.