Problem summary
The first save after opening a heavy project takes longer than subsequent saves. Even if the user saves the project, closes it without closing Mari, reopens it and saves again, the save will be slow. The first save takes longer to process image data like Paint, Bake Point and Geo Channel data, which in turn is influenced by the number of patches. The higher the number of patches the longer the first save takes.
From 'Steps to reproduce'
First Save
Second Save
Mari 4.8v4
4.57
0.92
Mari 4.8v1
7.77
4.02
Mari 4.7v7
1.18
1.12
Customer reported version
Mari 5.0v4
Customer reported platform
Windows 11
Steps to reproduce
1. Launch Mari
2. Open or create a project with at least five patches, such as the Example Project
3. Create at least 20 Paint nodes that have paint data in all patches (more might be needed on Linux). The following script can be used in the Python Console:
node_graph = mari.geo.current().nodeGraph()node = node_graph.createNode("Procedural/Fractal/Cloud")for i in range(20): node.bake(4096, 4096, 32) node.setMetadata("XOffset", node.metadata("XOffset")+100)
4. Save, close, and reopen the project.
5. Save the project. Notice the time it takes.
6. Save the project again. Notice it takes far less time to save.
Expected behaviour
Any save where no changes have been made to the project should be relatively fast, regardless if it's the first or second save after opening a project.
Actual behaviour
The first save after opening a heavy project currently takes longer than consecutive saves of the same project, even if no changes have been made.
Workaround
Unknown.
Reproduced by support
This bug has been reproduced in:
Mari 6.0v1 - Windows 10 - CentOS 7.9
Mari 5.0v4 - Windows 10
Mari 4.8v1 - Windows 10 - CentOS 7.9 - Regression
Unable to reproduce bug in:
Mari 4.7v7 - Windows 10 - CentOS 7.9
Earliest version tested
Mari 4.7v7 - This issue doesn't appear in this version and has regressed