For Small Projects & Portable
Large Projects & More RAM
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 have conducted our own testing of Pix4D 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 always the longest one of these three, and in large projects can take 70-80% of the total time. That makes high core count processors more appealing for bigger 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, and how Step 2 takes more of the overall processing time as projects get bigger, the best CPU depends on the sort of projects you are working with:
- 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 medium to large image sets. It has a staggering number of cores, which really shines during Step 2 - and since that takes a bigger chunk of processing time as projects get larger, this CPU excels with big jobs.
- Intel Core i9 9980XE 3.0GHz (4.5GHz Max Turbo) 18 Core - The 9980XE is faster than AMD's Threadripper when dealing with small projects (under 100 images). It also takes second place with larger jobs, and will be faster in other applications that are more sensitive to clock speed, but costs a little more than the 2990WX as well.
- Intel Core i9 9900K 3.6GHz (5.0GHz Max Turbo) 8 Core - This processor gets a special mention, since it is a lot less expensive than the models above and can actually be faster in very specific situations. If you work only with very small image sets (50 photos or fewer) and models, rather than maps, it does quite well. That is a very 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.
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 GTX 1080 Ti and RTX 2080 while costing less.
- GeForce GTX 1060 6GB - This older 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 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.