Q100188: Optimising your Mari projects for best performance

Follow

SUMMARY

Creative briefs are becoming more and more demanding, and with increasing complexity in geometry, texture maps need to be increasingly higher in resolution. 

With this in mind it is very important to try and squeeze out as much performance as possible from your machine to allow as fluid as possible a painting process when using Mari. 

There are many things you can do in order to achieve this, and this article will go through each Mari feature you can use, step by step.

 

MORE INFORMATION

Mari Preferences > GPU

Baking and Projection > Mip-Mapping Generation - "Fast"
No linearization is performed and the down sampling is done in the native colorspace of the image. 
This speeds up the process of things like baking paint down from the buffer to the canvas, but can introduce errors due to the maths being non-linear.

Shadow Maps > Allowed - DISABLED
Shadow Maps can be enabled to produce more accurate shadows in the viewport, but disabling it will free up system resources.

Virtual Texture Type - "Byte"
Controls the data type of cached channel data for display. Increasing it will improve accuracy of displayed values at a great cost to GPU memory.

Virtual Texture Depth
Controls the number of 2D texture layers.
Increasing this may resolve issues with flickering textures. And increase the speed in which tumbling a model happens at, each 2D texture layer in the virtual texture equates to 2GB of memory on your GPU. Exceeding your GPU memory limit will cause issues.
 

Nodes
Heavier node networks can take longer to compile and can reduce performance. To help maintain a good level of responsiveness in your project, Bake Point nodes can be used to bake sections of the network and increase performance.

Avoid using raw procedural nodes, they require a lot of system memory in order to calculate and render them given their high level of complexity. Wherever possible bake them in a Bake Point to increase performance. 
 
 
Shaders & Layers

Caching layers: A large number of layers, or computationally expensive layers can decrease performance. Caching these layers can mitigate this. To cache layers, from the Layers menu select Caching > Cache Layers or right-click on the layer and select Caching > Cache Layers from the dropdown menu.

Multiple shader setups: Have multiple shader setups and switch between them.
E.g. have a light set up for painting/editing and a full heavy set up for final previews
 
Bump Mode: Setting the Bump Mode to 'Fast' is also more suitable for previewing as opposed to 'Final' look.

Bump Maps: Avoid having bump map on while painting, if you need it cache the bump map channel.
 
 
Viewport
 
Avoiding having too large a viewport: The more pixels to render, the slower the FPS will be. In extreme cases hiding certain pieces of geometry might improve framerate.

EXTRA
 
Troubleshooting information for different performance issues in Mari can be found in this article: Q100253: Troubleshooting Mari performance issues

    We're sorry to hear that

    Please tell us why