Modeler is designed to be as performant as possible, but on lower end hardware or with very complex sculpts Modeler may slow down. Below are some tips to help improve Modeler's performance.
Resolution and brush size
Layer resolution is closely tied to resource use in Modeler. Increasing layer resolution means that more memory is needed and more elements need to be updated whenever a clay operation is performed. As a result it's a good idea to only increase layer resolution when you cannot achieve the level of detail you need for a given layer. Additionally try to break up sculpts into multiple layers where each layer has a resolution level that matches the level of detail needed.
Additionally, working on a normal resolution layer with a very large brush similarly increases resource requirements. If possible try to avoid using very large brushes - if you notice a delay between drawing a stroke and seeing the clay appear it may be a good idea to work with a smaller brush size, or decrease the layer resolution.
You can learn more about why resolution and brush size impact performance here.
Modeler doesn't require a large amount of system resources by default, but when working on large or complex scenes, memory and processing requirements can grow quite large. Try to avoid running Modeler at the same time as other graphically intensive applications. Additionally, try to ensure that memory is available for Modeler to use. This will help Modeler continue to run smoothly.
We cannot guarantee performance without the use of recommended drivers. If issues appear on a new install of Modeler, we recommend updating your GPU drivers.
GPU drivers are like any software, each new release can introduce performance and stability issues. If problems appear after updating drivers, we recommend downgrading to a previous version until Modeler can be updated.
As with most software, Modeler performs as well as your weakest hardware component. In other words, if you want to improve Modeler's performance by upgrading your hardware, it's important to determine which component is causing the bottleneck in your system.
Modeler makes heavy use of the GPU and CPU.
- GPU: Modeler caches a lot of data in VRAM, and when VRAM is exhausted the GPU has to start using RAM which is much slower for the GPU to access. Increasing the amount of available VRAM will help Modeler work more complex scenes and improve general performance.
- Using Modeler in VR will put more demand on your GPU, and thus make the GPU more likely to be the bottleneck in your system than other components.
- CPU: Modeler scales across CPU cores, so it is generally advisable look for a high core count CPU instead of a faster CPU with fewer cores. Note that this advice is specific to Modeler, as not all applications scale well with multiple CPU cores. Operations that make heavy use of the CPU include Resolution increases and Warp tool operations.
- RAM: Increased RAM should improve performance for heavy or complex Modeler scenes. Additionally, since RAM is generally cheaper and more available than GPUs, it may be an easier upgrade to justify.
The hardware information above is highly generalized and should not be relied upon to guarantee an improvement in performance for your system. Every machine is different, and if you intend to upgrade your system, it is best to take your specific needs and situation into account.
Modeler's underlying technology uses volumetric data, which is generally expensive to store. Modeler attempts to be as efficient with memory usage as possible, by compressing and only storing what needs to be stored, however layer resolution generally correlates to memory usage. So higher resolution means higher memory usage.
Modeler uses both VRAM and RAM. When VRAM is full to capacity, Modeler will start using RAM instead, however this impacts performance (most noticeably in VR). If both VRAM and RAM are full to capacity, Modeler will fall back on using the disk's page file. The more Modeler has to rely on the pagefile for storage, the more performance will be impacted. If VRAM, RAM, and the pagefile are filled to capacity Modeler will crash with an out-of-memory error.
The undo/redo stack also has to use memory to remember what changes have happened to the sculpt. The undo stack stores delta changes, so if only a few voxels are changed by an operation, the undo stack only stores the changes to those voxels instead of the entire layer. This helps decrease memory usage overall.
Due to the Undo stack, operations that should decrease memory usage can actually increase memory usage temporarily.
For example, when you decrease layer resolution Modeler does the following:
- Store the high resolution layer in the undo stack in case we need to undo the layer resolution change.
- Perform the layer resolution decrease operation to generate the lower resolution version of the layer.
- Store the lower resolution layer in memory.
As a result of performing this operation, there are now two versions of the layer in memory - the original high resolution layer, and the new lower resolution layer. The original high resolution version of the layer will stay in memory until it is removed from the undo stack.
There currently isn't a way to clear the undo stack or adjust the number of available undo operations. So the only way to remove the original high resolution version of the layer from the undo stack is to perform 64 more actions that will push the change off the stack, or restart Modeler.
If you perform many resolution changes and find your system resources running low, it could be worth restarting Modeler to clear the undo stack. This should free up memory and improve Modeler's performance.
Note that saving your scene and opening it again without closing Modeler will clear the undo stack, but won't necessarily improve performance. This is because the memory that Modeler was using is still allocated to Modeler even if it's not being used by Modeler. This means the Operating System still needs to juggle unallocated memory which can impact performance. For best results if experiencing performance issues after using Modeler for a while, save your work and restart the application.
This is an area that we hope to improve on in the future.
VRAM at startup
Modeler may appear to be very resource hungry due to how much VRAM it uses on startup - however this memory isn't actively being used by Modeler immediately. Instead, most of the VRAM allocated at startup is just to ensure that Modeler will have space to store data once you start sculpting. This helps Modeler be a little more performant.