Knowledge Base

Back to Terrain Module


Improving Terrain Modelling Performance for Large Datasets

Updated November 29, 2024


This article applies to:
  • Terrain 3D
  • Terrain Forestry

In road design, rendering terrain surfaces efficiently is essential for accurate modeling, smooth navigation, and overall performance. Poor performance during terrain rendering can lead to slow response times, inaccurate visualizations, or difficulties when working with large or complex terrain data, all of which can impact the design process.

In the paragraphs below, we'll cover how RoadEng behaves when rendering terrain surfaces and how to improve its performance.

Drawing point clouds:
Drawing large datasets, particularly lidar and DEM datasets can slow things down.  The vast majority of the time it is not desirable to display these individual points.  They are defaulted to not be displayed, but all features are selected on import and selected features are displayed.  To get around this, the first thing users do when importing such datasets is to deselect them.  The draw initial draw can also be aborted by clicking 'esc' on your keyboard.  The quick video below adds a bit of context.

Modelled point ceiling:  In comparison to other common earthworks design platforms (such as C3D), we have a much higher ceiling for the number of points we can model without considerable performance impacts. However, we still have a ceiling, if you're bringing in a massive amount of data you may be exceeding the practical limit.  We recommend and find ~10M modelled points to be a good rule-of-thumb value but that exact number may be higher or lower depending on your computer specs.


We have several videos related to this topic that may be useful resources.

The support article below covers this topic further:

Working with LiDAR

Multithreading:  Not all processes in in Terrain are multithreaded.  If the process being run is something that allows multithreading and it's not, it's likely that multithreading isn't enabled.  This can be turned on in the module setup.  

It's worth noting, not all processes are possible or practical to multithread.  In some cases it's very difficult to implement but in many cases, order of operations matters and there is more overhead (performance slowdown) to force synchronization than to just run a process in series.

Figure 1: Enable multi-threaded calculations in RoadEng.