Create a ticket

Q100308: Understanding Mari 3.3’s new Shader Compilation modes


Parallel Shader Compilation is a new feature introduced in Mari 3.3v1 which allows artists to use several different Shader Compilation Modes in order to benefit from viewport optimisation and better performance overall.

This articles explains the difference between the four compilation modes and how you can select which mode to use.



In previous versions of Mari, when an artist performed certain operations, Mari would need to recompile an optimised shader in order to display the results on the canvas. These operations could range from an artist adding a new procedural layer to the layerstack, tweaking layer visibility, changing a blending mode or even rearranging the layer order. Depending on the complexity of the project, these shader compilations could take a relatively long time, which was both frustrating and time consuming for the artist.

Starting with Mari 3.3v1, we have worked to counter this by introducing Shader Compilation modes which the artist can take advantage of for improved performance:


Dynamic mode has very fast compilation rates at the cost of being a heavy shader to render. This means that, whilst your computer will remain active, you will experience a slower frame rate. Dynamic mode works by caching multiple operations to be used quickly so, whilst initially you may still get a spinning wheel, from the second time you perform a specific operation your shader should then not need to recompile.


Optimized mode, once compiled, is a lighter shader to render so often offers improved frame rates. However, when compared to Dynamic mode, the process of compiling the shader is slower causing Mari’s spinning wheel to appear in the viewport more often.


Automatic mode is not a single type of Shader Compilation but rather makes use of combining both the 'Dynamic' and 'Optimized' modes for a parallel compile which provides faster, cleaner results in the Mari viewport. Whilst working in this mode, artists will experience the maximum amount of optimisations and should rarely have to wait for the canvas to update.

You can find more information on Automatic mode's driver requirements here: Q100309: Graphics Driver Requirements for Shader Compilation features in Mari 3.3


By activating Legacy mode, you will be using Mari in the same state as previous versions predating 3.3v1. Whilst you will not be able to make use of the shader compilation features, you will still experience optimisations in GPU texture management and in colorspace export speeds.


You can select the Shader Compilation mode by opening Mari's preferences, selecting the GPU tab and scrolling down to "Shader Compilation".




If you are experiencing performance issues when using Shader Compilation modes, there are further settings or options that can be turned off to improve Mari’s efficiency. A detailed article about additional causes to consider is found here: Q100253: Troubleshooting Mari performance issues

As we understand that performance issues can sometimes be directly dependant on your project and setup, if you are still experiencing issues after testing the advice in these articles please contact us via the Support Portal and let us know the steps you have taken so far. All initial information we require for investigation is outlined under Q100090: Reporting a Mari issue

For more information on how to open a Support ticket, please refer to the 'Using the Support Portal' article.

Was this article helpful?

We're sorry to hear that

Please tell us why
0 out of 0 found this helpful