Hardware Recommendations for Pix4D
We have put together recommendations for Pix4D workstations based on our benchmark testing, as well as system configurations tailored to both small-scale models and massive mapping projects.
Pix4D System Requirements and Benchmarks
Quickly Jump To: Processor (CPU) • Video Card (GPU) • Memory (RAM) • Storage (Drives)
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.
Processor (CPU)
How does Pix4D utilize the CPU?
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.
What CPU is best for Pix4D?
The type of projects you are running in Pix4D will determine what type of CPU will give you the best results:
- Intel Core i9 14900K 24 Core – This is the top-performing processor in our Pix4D model benchmarks, and also does the best with small maps (under about 500 images).
- AMD Threadripper 7970X 32 Core – This higher core count processor offers the best performance in Pix4D when working with bigger maps, and it supports additional system memory which can help with extremely large projects.
Is the CPU or GPU more important for Pix4D?
Pix4D primarily uses the CPU for calculations but can do some processing on the GPU as well. In particular, the Initial Processing (step 1) and Point Cloud and Mesh (step 2) will benefit from the presence of a compatible video card. The video card is also utilized after processing, when viewing the ray cloud that has been created, and there it is the raw 3D drawing capabilities of the card that matter (rather that CUDA).
Additional Resources:
Video Card (GPU)
How does Pix4D utilize video cards (GPUs)?
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.
What is the best video card (GPU) for Pix4D?
Pretty much any recent-generation GeForce GTX or RTX video card will work great in Pix4D. There is very little difference across models in our testing.
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.
What video cards are compatible with Pix4D?
While Pix4D will run on a system with almost any modern video card, only NVIDIA GPUs which support CUDA 6.5 or higher can be utilized to improve processing speed. All of the NVIDIA GeForce cards we offer in our recommended system fit this description. We have also tested NVIDIA’s Titan and Quadro series cards, but while they do technically work they are much slower than GeForce cards in this particular application. There is a workaround to let Quadros perform better, but even then they are no faster than high-end GeForce models… and there is no known fix for Titans.
How many video cards does Pix4D support?
As of version 4.6.4, only a single GPU (video card) is utilized by Pix4D at a time. If multiple video cards are present in a computer, Pix4D will periodically check to see which is being utilized the least, and will run on that card. If Pix4D is the only major program running, then there is no benefit to a second GPU. Theoretically, if a user had Pix4D going while also using another graphics intensive program, then a dual GPU setup might be helpful – but we do not have any test results which actually demonstrate that.
Additional Resources:
Memory (RAM)
How much system memory (RAM) does Pix4D need?
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
However, with the default processing options in Pix4D we found that actual memory usage is fairly low – even on large image sets. The biggest set we have tested to date was comprised of over 2600 images (~10MB each) and that project peaked at using about 20GB of memory during processing. The amount of memory used also depends heavily on what quality settings you select within Pix4D, though, so memory usage can be much higher depending on your specific workload and preferences.
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 64 x 0.36 = 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!
Storage (Drives)
What is the best type of drive to use for Pix4D?
Thanks to their speed and relatively affordable price, we strongly recommend solid-state drives (SSDs) for the primary drive that will host your OS and the installation of Pix4D itself. The high speed of SSDs allows your system to boot and launch applications many times faster than any traditional hard drive. In particular, the newer NVMe type of SSDs utilize the latest connections like M.2 and offer the fastest transfer rates.
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 your budget allows, it is also a very good idea to have a second drive that can be used to store your active projects to further decrease load and save times. We highly recommend using an OS drive with a capacity of 500GB or more to ensure you do not need to upgrade your primary drive (which is often a complicated process) in the near future. The size of your project drive will depend on how large the image sets you work with are, but at least 1TB is recommended.
What sort of drive is best for data storage and backup?
Since SSDs are still more expensive than platter drives per GB, for long term storage and backup we recommend using a traditional hard drive or even an external drive array. Network attached storage systems are a great option for that, as they can be shared between multiple workstations and usually offer features to provide some level of data redundancy (protection against losing files if one of the drives dies).