Go to file
Aras Pranckevicius 230f72347a IO: speed up large Alembic & USD imports by doing fewer collection syncs
Previous code was doing N collection syncs when importing N objects
(essentially quadratic complexity in terms of object count). New
code avoids all the intermediate syncs by using
BKE_layer_collection_resync_forbid and
BKE_layer_collection_resync_allow, and then does one
BKE_main_collection_sync + BKE_main_collection_sync_remap for the
whole operation. The things done on the importer objects that are
dependent on the sync happening (marking them selected) are done in a
separate loop after the sync.

Timings: importing Moana USD scene (480k objects) on Windows, VS2022
Release build, AMD Ryzen 5950X: 12344sec -> 10979sec (saves 22 minutes).

Reviewed By: Bastien Montagne
Differential Revision: https://developer.blender.org/D15215
2022-06-17 22:22:30 +03:00
.github GitHub: add PR template 2021-10-23 10:49:51 +05:30
build_files deps: fix llvm using system python 2022-06-17 09:38:25 -06:00
doc Revert "TEST COMMIT: API doc generation changes." 2022-06-17 18:21:28 +02:00
extern Draco: update to version 1.5.2 2022-06-17 19:40:01 +02:00
intern Cleanup: add verbose logging category names instead of numbers 2022-06-17 14:08:14 +02:00
release Cleanup: Simplify syntax in curves draw cache file 2022-06-17 15:11:41 +02:00
source IO: speed up large Alembic & USD imports by doing fewer collection syncs 2022-06-17 22:22:30 +03:00
tests Render report: better wording for reference image updating 2022-06-14 13:02:39 +02:00
.arcconfig
.clang-format Cleanup: clang-format 2022-04-04 12:35:33 +10:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig pyproject: add configuration for autopep8 2022-04-22 10:13:39 +10:00
.git-blame-ignore-revs
.gitignore
.gitmodules
CMakeLists.txt CMake: optionally disable OBJ, STL & GPencil SVG support 2022-06-08 13:29:32 +10:00
COPYING
GNUmakefile GNUmakefile: include autopep8 in the "make format" target 2022-05-03 18:32:00 +10:00
make.bat make.bat: unify python detection 2022-01-25 09:19:03 -07:00
pyproject.toml pyproject: re-enable line wrapping for autopep8 2022-05-13 18:05:07 +10:00
readme.rst Blender README: Fix the full license name. 2021-04-09 12:39:33 +02:00

.. 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.