Mari is an extremely GPU intensive software meaning that, in most cases, the amount of memory your Graphics Card can process will be directly related to the performance of the application.
The amount of memory you will need to run Mari is always subjective to the size of the project you are creating.
This article will explain the formula you can use to find out how much memory is required to calculate virtual textures for different project sizes.
The memory calculations dependant on the project size can be condensed into the following formula to find out what Mari will consume for Virtual Textures computation:
Pixel Size x Width x Height x Depth
For instance, in the case that you have a 32 bit channel with 4K textures, you can calculate how much memory you will be using in the following way:
32 bit x 4 = 128 bit ## Where 4 represents R, G, B, A and 32 bits per pixel
128 bit / 8 = 16 Bytes ## Convert 128 bits into bytes = 16 Bytes
16 x 4096 = 65536 Bytes ## Multiplied by the width of the texture layer
65536 x 4096 = 268435456 Bytes ## Multiplied by the height of the texture layer
268435456 x 8 = 2147483648 Bytes ## Multiplied by the number of layers in your layerstack
Total: 2.147483648 Gigabytes
In the above example, if you have approximately 4 Gigabytes of memory on your Graphics card, Mari will already be using over half of your dedicated memory just on calculating the Virtual Texture alone.
When you begin to consider the additional processes taking place within Mari for calculation other features and shaders, as well as taking into account any other applications you may have open that could be using the GPU (including Web Browsers), it is easy to understand why some users may find themselves very easily running out of memory.
NOTE: The more RAM you have available the better, and you may also want to review how other hardware components are used and affect performance in Mari, by having a look at this article: