Puget Systems print logo

https://www.pugetsystems.com

Read this article at https://www.pugetsystems.com/guides/1521
Article Thumbnail

Does RAM Capacity Affect RealityCapture Performance?

Written on June 26, 2019 by William George
Share:

Introduction

RealityCapture, like other photogrammetry applications, is built to take a batch of photographs and turn them into digital, 3D models. The algorithms used during that process are designed to be "out of core", meaning that not all of the data has to be loaded into system memory (RAM) at the same time - allowing for full processing without requiring a ton of available memory. Having more RAM can still be beneficial, though, so we decided to test how much impact it has on performance.

Test Hardware

Here is a list of the hardware we tested RealityCapture on. The CPU and GPU were kept the same across all test runs, to avoid either of those throwing off the comparison, and we used the Core i9 9900K because it turned in the best performance in our recent CPU article. All results included here are from after the recent Windows 10 security patch addressing MDS vulnerabilities in some Intel processors, but we did see a small increase in Core i9 9900K performance when we moved to the newer Z390 motherboard - which helped offset some of the performance that chip lost because of the update. We also used the latest R0 stepping of the 9900K processor, which is supposed to have some hardware mitigation for recent exploits... though we have not seen any measurable performance difference.

Test Platforms
CPU Intel Core i9 9900K
CPU Cooler Noctua NH-U12S
Motherboard Gigabyte Z390 Designare
RAM 2x DDR4-2666 8GB (16GB total)
2x DDR4-2666 16GB (32GB total)
2x DDR4-2666 32GB (64GB total)
4x DDR4-2666 32GB (128GB total)
Video Card NVIDIA GeForce RTX 2080 Ti 11GB
Hard Drive Samsung 960 Pro 1TB
Software Windows 10 Pro 64-bit (version 1903)
RealityCapture 1.0.3.6310

Benchmark Details

For testing photogrammetry applications, we have four image sets that we own the rights to - covering both smaller and larger size model and map projects. The smaller image sets are included in our public RealityCapture benchmark, which you can download and run if you want to compare your system's performance to what we measured in our testing.

  • Rock Model - 45 photos at 20 megapixels each
  • School Map - 51 photos at 18 megapixels each
  • School Model - 278 photos at 18 megapixels each
  • Park Map - 758 photos at 18 megapixels each

Each image set was processed 3 times with each RAM configuration, and the fastest overall result was used for the comparisons below.

Results Overview

Here are charts for each of the four image sets, showing the total time (in seconds) they took to process with each memory configuration:

Analysis

With the smaller image sets, there was very little difference in performance regardless of the amount of memory installed. RealityCapture's website officially lists 16GB as the minimum recommendation, and it looks like that is justified by our results. There is less than a 3% variation between the fastest and slowest times in our Rock Model and School Map projects, which may well be within the margin of error.

Moving on to the larger image sets, we do see a more significant difference. Having only 16GB was ~7% slower than 64GB in the medium size School Model test, and ~12% slower than having 128GB in the biggest Park Map project. In both cases, the biggest jump in performance was from 16 to 32GB - which is also the least expensive, and makes 32GB an ideal starting point for our systems.

Conclusion

All of our test projects were able to process fully, even with just 16GB of memory - but having more RAM does help, especially with larger image sets. The 16GB minimum recommendation from RealityCapture is viable, but 32GB provides a better baseline without costing much more. If you work with really large projects, going up to 64 or even 128GB might be worth the additional price - but make sure you have the best CPU and video cards since they can have a bigger impact on overall performance in this application.

Average Performance Impact of RAM Capacity on RealityCapture 1.0.3

Looking for a Photogrammetry Workstation?

Puget Systems offers a range of workstations that are tailor-made for your unique workflow. Our goal is to provide the most effective and reliable system possible so you can concentrate on your work and not worry about your computer.

Configure a System!

Tags: RealityCapture, photogrammetry, RAM, Memory, Performance, Core i9, 9900K, 2080 Ti, GeForce
George Janiashvili

Hey, are you using default settings for alignment, texturing and model creation?

I found one strange thing that amount of RAM also determines percentage of GPU vRAM usage.

Posted on 2019-08-09 14:43:26

Yes, I tried to keep as much as possible to default settings (largely to keep the benchmarks from taking forever). That is an interesting observation about the VRAM! I hadn't noticed that, but I hadn't really been looking at GPU memory usage either :/

Posted on 2019-08-09 15:09:29
George Janiashvili

Yes but I was using 6k photos, yes only few hundred turned on per model generation, but it could be bug in RC.

Posted on 2019-08-13 12:14:15
George Janiashvili

Real question here is - how much RAM Speeds affect it.

Posted on 2019-08-09 14:44:29

That topic was addressed in part in my look at Ryzen 3rd Gen performance in RealityCapture, where I tested those processors with both 2666 and 3200MHz memory: https://www.pugetsystems.co...

The faster RAM reduced overall processing time by about 3-5% with those processors, but it is worth noting that depending on the number of memory modules you want to use the higher speed memory may technically be outside of AMD's official supported spec.

Posted on 2019-08-09 15:07:56
George Janiashvili

Memory affects Zen CPUs themselves, I have DDR3 Xeon machines and interesting is the difference at that low speed memories.. But it's 2019 now, no one besides me would wonder besides me I guess.

Posted on 2019-08-13 12:17:07