7ca13eef7c3349b346b178b8f4ca64838d2f4ccf
When a grease pencil data-block has multiple users and is subject to modifiers, layer transforms or parenting, performance (especially playback) is greatly affected. This was caused by the grease pencil eval process which does per instance full-copies of the original datablock in case those kinds of transformations need to be applied. This commit changes the behavior of the eval process to do shallow copies (layers with empty frames) of the datablock instead and duplicates only the visible strokes. When we need to have a unique eval data per instance, only copy the strokes of visible frames to this copy. Performance: On a test file with 1350 frames 33k strokes and 480k points in a single grease pencil object that was instanced 13 times: - master: 2.8 - 3.3 fps - patch: 42 - 52 fps Co-authored by: @filedescriptor This patch was contributed by The SPA Studios. Reviewed By: #grease_pencil, pepeland Differential Revision: https://developer.blender.org/D14238
…
.. Keep this document short & concise, linking to external resources instead of including content in-line. See 'release/text/readme.html' for the end user read-me. Blender ======= Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing. .. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg :scale: 50 % :align: center Project Pages ------------- - `Main Website <http://www.blender.org>`__ - `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__ - `User Community <https://www.blender.org/community/>`__ Development ----------- - `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__ - `Code Review & Bug Tracker <https://developer.blender.org>`__ - `Developer Forum <https://devtalk.blender.org>`__ - `Developer Documentation <https://wiki.blender.org>`__ License ------- Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license. See `blender.org/about/license <https://www.blender.org/about/license>`__ for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%