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 difference 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.
Because of the way that each step uses the CPU differently, the best processor depends on the sort of projects you are working with:
- 3D Maps: Intel Core i9 9980XE 3.0GHz (4.5GHz Max Turbo) 18 Core - The 9980XE took the top performance in both of our newer map projects, thanks to its combination of a fair number of CPU cores with high clock speeds. If you need to save a little money, the Core i9 9960X and i9 9940X also do well at slightly lower price points.
- Large 3D Models: AMD Threadripper 2990WX 3.0GHz (4.2GHz Max Turbo) 32 Core - Of the CPUs we have tested, AMD's top-end Threadripper performed the best when working with large 3D models. It has a ton of cores, and while the lower per-core clock speeds kept it behind some of Intel's Core X chips when processing Step 3 in maps, this chip is faster in Step 2 and costs less as well.
- Small 3D Models: Intel Core i9 9900K 3.6GHz (5.0GHz Max Turbo) 8 Core - If you are only working with smaller projects, where Step 1 takes up a bigger portion of the overall processing time, Intel's Core i9 9900K with very high clock speeds does quite well. That is a niche situation, so we don't have a Pix4D recommended system built around it, but if this sounds like what you do then contact our consultants and they can help put together a system.
- 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.