Workspace rendering performance observations
Posted: Sun Jul 07, 2024 6:33 pm
So today I was working on a project with only 2 FPS of rendering performance and I took the oportunity to make some tests to know more about what affects performance the most. To clarify, I will talk exclusively about workspace rendering performance, which is not export rendering performance and also not editing performance. So these were my observations:
Group masks are the nº1 thing affecting performance. Liquid shapes masks have much better performance.
In a group mask, the nº1 factor is the masking layer. The masked layer was not relevant, even a new empty vector layer as a masked layer gave me 2 FPS.
Inside the masking layer, the key is the number of shapes and points. Effects, transparency and liquid shapes didn't matter, I was still getting 2 FPS converting every shape to plain white and black. Also the worst is to have many shapes with many points inside one single layer. I achieved the same mask but separated into 3 different masked groups, and performance increased to 6 FPS.
And to be even more precise, the single thing that is relevant here for the masks is the strokes. Without strokes, the performance improved from 2FPS to 12 FPS, almost as good as with no masking (14-15 FPS). Strokes in a mask are so expensive, when I tested it with strokes but without fills instead, the performance was even lower >1 than with both on, probably because all the strokes were visible (even the strokes of shapes that were behind another shapes).
The two best quick ways of getting pretty good workspace rendering without changing the rig are to turn off the new "masked layers" view option, and, if you need to evaluate masked animation (facial expressions for example), turn strokes off. Edit: you can turn strokes off for specific layers in the quick layer settings. Disabling just the strokes of this single masking layer gave me 9fps.
Testing it in Moho 14.1 I got 6 FPS instead of 2. Probably because they seem to have improved workspace fidelity even more in this patch, but strokes in masks seem to be the clear botleneck in performance so I hope they can improve that very specifically, add more quality options (no masked layers was great!), or both.
Group masks are the nº1 thing affecting performance. Liquid shapes masks have much better performance.
In a group mask, the nº1 factor is the masking layer. The masked layer was not relevant, even a new empty vector layer as a masked layer gave me 2 FPS.
Inside the masking layer, the key is the number of shapes and points. Effects, transparency and liquid shapes didn't matter, I was still getting 2 FPS converting every shape to plain white and black. Also the worst is to have many shapes with many points inside one single layer. I achieved the same mask but separated into 3 different masked groups, and performance increased to 6 FPS.
And to be even more precise, the single thing that is relevant here for the masks is the strokes. Without strokes, the performance improved from 2FPS to 12 FPS, almost as good as with no masking (14-15 FPS). Strokes in a mask are so expensive, when I tested it with strokes but without fills instead, the performance was even lower >1 than with both on, probably because all the strokes were visible (even the strokes of shapes that were behind another shapes).
The two best quick ways of getting pretty good workspace rendering without changing the rig are to turn off the new "masked layers" view option, and, if you need to evaluate masked animation (facial expressions for example), turn strokes off. Edit: you can turn strokes off for specific layers in the quick layer settings. Disabling just the strokes of this single masking layer gave me 9fps.
Testing it in Moho 14.1 I got 6 FPS instead of 2. Probably because they seem to have improved workspace fidelity even more in this patch, but strokes in masks seem to be the clear botleneck in performance so I hope they can improve that very specifically, add more quality options (no masked layers was great!), or both.