Hardware Recommendations for RealityCapture
We have put together recommended hardware specs for RealityCapture workstations based on our past benchmark testing, and we offer systems with those specifications for purchase.
RealityCapture System Requirements and Benchmarks
Like most software applications, there is a list of system requirements for RealityCapture 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 outright show sub-optimal hardware.
Here at Puget Systems, we have taken the time to put together benchmarks for RealityCapture and run them across a wide variety of hardware. Based on this testing, we have come up with our own list of recommended hardware – as well as a specific workstation configuration tailored with these recommendations in mind.
What CPUs are the best for RealityCapture?
Each step in the RealityCapture workflow utilizes the CPU differently, but overall we found that mainstream CPUs offer the best performance in our testing:
- AMD Ryzen 9 7950X 16 Core – This processor offers the best performance we have seen from AMD in RealityCapture, ahead of the older and more expensive Threadripper.
- Intel Core i9 14900K 24 Core – For those who prefer Intel, this CPU also offers very strong performance. Its cores are split between higher speed “performance” cores and higher quantity “efficiency” cores, giving it a different balance than AMD’s offerings but still good results.
Is the CPU or GPU more important for RealityCapture?
Like most Photogrammetry applications, a blend of CPU and GPU processing power is needed to get the best results in RealityCapture. We have found that the CPU has a bigger impact overall, and selecting the right model will save you money as well as give you great performance. On the video card side, a NVIDIA GPU is required in order to support CUDA – but we observed a modest difference between mid-range to high-end models. You can read more about both CPU and GPU performance in the articles linked to on the right.
Video Card (GPU)
How does RealityCapture utilize video cards (GPUs)?
RealityCapture requires a NVIDIA graphics card for full operation because it uses CUDA for some of the key processing. Without that, you can technically run the program and perform some basic steps like registering images – but you cannot create a mesh / 3D model.
We found that there isn’t a huge difference between modern mid-range and high-end video cards, but there is a little bit of a performance gain from spending more. Additionally, using two video cards instead of one provides a measurable benefit. As such, our recommendation is to use two video cards if you are looking to maximize performance and your budget has room.
What are the best video cards (GPUs) for RealityCapture?
- GeForce RTX 4080 16GB – This is our top single-card recommendation, with excellent performance in RealityCapture and a solid price. The RTX 4090 is a little faster, it is true, but costs several hundred dollars more – not a worthwhile upgrade for most users.
- GeForce RTX 4070 Ti 12GB – Only a little slower than the 4080, this model offers great value for those wanting to save some money.
- Dual RTX 4070 Ti or 4080 cards – For a further boost in processing speeds, consider doubling up on video cards (increasing the tower size and power supply capacity is important to handle the added load).
How many video cards does RealityCapture support?
There is a nice increase in performance for having dual GPUs in RealityCapture: 5-13% faster performance compared to a single card of the same model. We have only tested with up to two video cards, but it is entirely possible that it could scale further. However, using more than two GPUs would require a larger chassis and power supply, and to have three or more cards each operating at PCI-E x8 or x16 would mean moving to a different processor platform as well – which would both increase price and lower performance more than the gain from a third card could offer. Because of that, we recommend sticking with one or two video cards for this application.
How much system memory (RAM) does RealityCapture need?
Memory requirements in RealityCapture are actually fairly modest, compared to other photogrammetry applications. This program was designed to use “out-of-core” algorithms, which do not require all of the data being worked on to be stored in the main system memory at the same time. As such, very large projects can be handled with modest amounts of RAM – the developers even claim that 16GB is sufficient for image sets with thousands of photos. Here at Puget Systems, though, we generally recommend 32GB as a minimum since Windows and other programs running in the background also need some memory space. We also found that to be a solid starting point in our testing.
The developers of this software have provided some additional guidance regarding memory:
“All processing steps except alignment are out of core. RealityCapture will use all available RAM if it leads to a faster computation. Otherwise, it splits jobs so that it fills into the computer RAM. So technically 16GB is enough for reconstruction, texturing, etc – but more RAM could lead to a faster processing.
Memory consumption during the alignment phase depends on the number of images (not size) and the number of detected features per image. For the default setting of 40K features per image, you can expect the following boundaries:
– 2,000 images – 16GB RAM
– 4,000 images – 32GB RAM
– 8,000 images – 64GB RAM
– 16,000 images – 128GB RAM
By decreasing the number of detected features to half you can approximately decrease the memory consumption by half as well. The approximate formula is: RAM = features x images x 200 bytes.”
For those who do need to work with really large image sets, or higher quality settings, our recommended systems support up to 128GB of memory.
What is the best type of drive to use for RealityCapture?
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 RealityCapture 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.
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.
Should I get a solid state drive (SSD) or hard drive (HDD) for RealityCapture?
We strongly recommend using solid-state drives on all computers these days. They have a huge impact on every aspect of computer usage, from faster boot times to more responsive operation. RealityCapture will also load images more quickly from a fast drive, and because of its out-of-core design it also reads and writes data from the drive throughout processing. Image sets can also take up a lot of space, though, so having a secondary hard drive for archival of projects and other data may be helpful.
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 way to go 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).