Table of Contents
Introduction
Pix4D is an advanced photogrammetry application, suited to a wide range of uses, with a focus on handling images captured by drone cameras. Processing of those images into point clouds and 3D meshes / textures is time consuming, making heavy use of both the central processing unit (CPU) and graphics processor (GPU / video card) in a computer.
With several new CPU launches in the last few months, plus an updated version of Pix4D, we thought it was a good time to revisit processor performance in this program. This article will cover a wide range of current Intel and AMD chips, along with a few older models as points of reference.
Test Hardware
The new CPU lines we wanted to test include Intel's 9th Gen Core processor series, their updated Core X line, and AMD's second-gen Threadripper chips. We've also included some of the previous Intel models from both of those families and AMD's second-gen Ryzen.
We used the same video card and memory type / speed throughout, since that is what all of these are rated for when using the maximum amount of RAM they support. Some platforms may support higher memory speeds when only one or two memory modules are used, but since RAM capacity is very important for photogrammetry, and sticking with manufacturer-supported speeds is important for reliability, that is what we have prioritized here. If you would like to see full details of the hardware we tested, click here to expand a chart below.
Testing Hardware | ||||
Motherboard: | Gigabyte Z370 AORUS Gaming 5 |
Gigabyte X470 AORUS Gaming 7 WiFi |
Gigabyte X299 Designare EX |
MSI MEG X399 Creation |
CPU: | Intel Core i7 8700K 6 Core 3.7GHz (4.7GHz Turbo) Intel Core i7 9700K 8 Core 3.6GHz (4.9GHz Turbo) Intel Core i9 9900K 8 Core 3.6GHz (5.0GHz Turbo) |
Intel Core i7 7820X 8 Core 3.6GHz (4.5GHz Turbo) Intel Core i9 7900X 10 Core 3.3GHz (4.5GHz Turbo) Intel Core i9 7980XE 18 Core 2.6GHz (4.4GHz Turbo) Intel Core i7 9800X 8 Core 3.8GHz (4.5GHz Turbo) Intel Core i9 9900X 10 Core 3.5GHz (4.5GHz Turbo) Intel Core i9 9980XE 18 Core 3.0GHz (4.5GHz Turbo) |
AMD TR 2950X 16 Core 3.5GHz (4.4GHz Turbo) AMD TR 2990X 32 Core 3.0GHz (4.2GHz Turbo) |
|
RAM: | 4x Crucial DDR4-2666 16GB (64GB total) | 8x Crucial DDR4-2666 16GB (128GB total) | ||
GPU: | NVIDIA GeForce RTX 2080 8GB | |||
Drive: | Samsung 960 Pro M.2 PCI-E x4 NVMe SSD | |||
OS: | Windows 10 Pro 64-bit | |||
Software: | Pix4D 4.3.27* | |||
Note: | *Version 4.3.31 came out during our testing, but seems limited to bug fixes |
Methodology
In order to be able to run multiple image sets and multiple iterations, we put together an AutoIt script that runs Pix4D without manual input. Because of the automation we used, all steps were performed back-to-back with no editing in-between to clean up point clouds. That means these results may not perfectly match up with what you'd see when using Pix4D in a real-world workflow, but it removes any chance of human error altering results between runs. We did still observe small variances on total processing time with each image set, so we ran them three times and selected the lowest overall result for each image set to be included in the charts below.
As mentioned above, we tested several different image sets: two each in both 3D Model and 3D Map modes. These are the most demanding of the processing methods in Pix4D, hence our focus on them over the various other options available. No settings were altered from the defaults. Descriptions of the image sets we used, and what processing mode they were used with, are available below.
Image Sets
Here is information about the image sets we used, including project type (3D Model vs 3D Map), and listed in order of complexity:
Results
Here are the results for total processing time on each of the four image sets, across all of the tested CPUs. AMD processors are shown in red, Intel in blue, and the newer Intel chips (models with 9000-series numbers) are a little darker, to make them easy to spot. First up is a small model, with only 44 photos, using the Eagle image set from Pix4D's website:
This is the only test where the mainstream Core i9 9900K led the results, thanks to the short test length and this processor's high clock speed. 3D Models have fewer processing steps in Pix4D, and with only a handful of images in this project the higher core count chips don't have a chance to flex all their power. Still, the lower clock speed i9 9980XE basically tied for first place (2 seconds slower is well within the margin of error here) and as we will soon see that chip handles more complex projects better than the 9900K.
Moving on, we have a small map project with 36 photos using the Building DJI image set from Pix4D's website:
The recently-released Core i9 9980XE takes the crown in this project, with both high core count and respectable turbo clock speeds.
Next up is a mid-size 3D Model, made up of 100 images provided to us by the folks at Pix4D:
As the project size / number of images grows, we see that core count starts to become a bigger factor than clock speed. This allows AMD's Threadripper 2990WX to take the lead here, though Intel's top 18-core chips are not far behind.
And finally, we have a larger map with 739 images of the Michigan Central Station building, provided again by folks at Pix4D:
With both more images and the additional calculations involved in making a map, this test shows an even bigger divide between the high core count processors and the more affordable, mainstream models. AMD's 32-core Threadripper 2990WX takes the lead again, and since it is also less expensive than the closest competition from Intel it is a solid choice for working with large Pix4D projects.
Analysis
If you want to dig into why the different processors we tested fared the way they did, here is a chart showing times for each step:
The biggest takeaway here is that Step 1, which is comprised mostly of aligning the images, is heavily dependent on clock speed. In tests where there are only a handful of images, such that this step takes up a substantial portion of the total processing time, a high clock speed processor like the Intel Core i9 9900K will do very well. That is what we saw with the Eagle Model image set, where this CPU was 43 seconds faster than the i9 9980XE in Step 1 – and while it was 41 seconds slower in Step 2, that still left it 2 seconds ahead overall.
The 9900K continued to be faster than any of the higher core count processors during Step 1 across all the remaining image sets. However, as the projects got larger, Step 1 became a smaller and smaller part of the overall processing time – which is why the 9900K never took the top spot in maps or larger models. Interestingly, though, the i7 9700K actually bested the 9900K in Step 1 speed across the board, despite having slightly lower clock speeds and no Hyperthreading. That actually makes me suspect that something in the way calculations are handled in Pix4D's Step 1 is hampered by having more CPU "threads" available, such that higher thread count chips are actually performing more slowly than they should be. There are ways to artificially limit how many cores are available to a given program within Windows, which could potentially help here, but limiting threads that way would greatly hurt performance in subsequent steps.
Step 2 is much better threaded, and Step 3 (in the case of maps) is somewhere in-between. AMD's 32-core Threadripper 2990WX really shines in Step 2, where it is the fastest or second-fastest CPU across the board – even with small projects like the Eagle Model and Building Map. In the larger jobs, where Step 1 times are minimized, this excellent Step 2 performance is what allows that processor to take the performance crown. Intel's i9 9980XE is not far behind in Step 2, faster in Step 1, and trades blows with the 2990WX in Step 3.
Conclusion
Pix4D is sensitive to both clock speed and core count, but as the number of images in your project increases so does the importance of core count. With projects of 100+ images, we found that AMD's Threadripper 2990WX was the fastest CPU available – even though some of the Intel models we tested cost more. For smaller image sets, with fewer than 100 photos, Intel chips were faster… but even then, moving from a 3D Model to a 3D Map (which requires additional processing) impacts which chip is the fastest.
So what is the takeaway? Select a processor based on what you expect your workload in Pix4D to look like: AMD Threadripper for big projects, or Intel X-series if you only do smaller stuff.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.