Blender Git Commit Log

All Blender Git commits.

Page: 305 / 8462

August 22, 2021, 13:07 (GMT)
support span buffer reuse
August 22, 2021, 10:49 (GMT)
fix comment
August 22, 2021, 10:21 (GMT)
Merge branch 'master' into temp-multi-function-procedure
August 22, 2021, 06:51 (GMT)
Merge branch 'master' into soc-2021-porting-modifiers-to-nodes_all
August 22, 2021, 03:46 (GMT)
fix signed/unsigned warning
August 22, 2021, 03:40 (GMT)
Sculpt dyntopo: Finished bmesh cache coherency tester

To run, in the python console enter:

bpy.msgbus.pbvh_bmesh_do_cache_test()

The output will be in the regular console. The test
build a half-million vert cube and smooths it. It runs
several passes (all of which perform the same smoothing
operation):

1; Randomized order pass
2. Ordered pass (by vertex clustering)
3. Same as 2 but with a purely data-oriented version
of the bmesh structs.
4. Same as 2, but using a version of the bmesh structs
with all pointers replaced by integer indices.

At least on my laptop #3 and #2 are about a third faster
then #1, and #2 tends to be around 15%.
August 21, 2021, 22:19 (GMT)
Sculpt dyntopo: Don't allow dyntopo when multires modfier exists

Note that thoeretically we could support multires in dyntopo,
but numerical instability would probably make the grid data
explode.
August 21, 2021, 21:31 (GMT)
Fix Windows builds after Zstandard commits
August 21, 2021, 21:27 (GMT)
Fix: Default selection in dissolve node.
August 21, 2021, 20:03 (GMT)
Merge branch 'master' into cycles_texture_cache
August 21, 2021, 19:39 (GMT)
Add support for Zstandard compression for .blend files

Compressing blendfiles can help save a lot of disk space, but the slowdown
while loading and saving is a major annoyance.
Currently Blender uses Zlib (aka gzip aka Deflate) for compression, but there
are now several more modern algorithms that outperform it in every way.

In this patch, I decided for Zstandard aka Zstd for several reasons:
- It is widely supported, both in other programs and libraries as well as in
general-purpose compression utilities on Unix
- It is extremely flexible - spanning several orders of magnitude of
compression speeds depending on the level setting.
- It is pretty much on the Pareto frontier for all of its configurations
(meaning that no other algorithm is both faster and more efficient).

One downside of course is that older versions of Blender will not be able to
read these files, but one can always just re-save them without compression or
decompress the file manually with an external tool.

The implementation here saves additional metadata into the compressed file in
order to allow for efficient seeking when loading. This is standard-compliant
and will be ignored by other tools that support Zstd.
If the metadata is not present (e.g. because you manually compressed a .blend
file with another tool), Blender will fall back to sequential reading.

Saving is multithreaded to improve performance. Loading is currently not
multithreaded since it's not easy to predict the access patterns of the
loading code when seeking is supported.
In the future, we might want to look into making this more predictable or
disabling seeking for the main .blend file, which would then allow for
multiple background threads that decompress data ahead of time.

The compression level was chosen to get sizes comparable to previous versions
at much higher speeds. In the future, this could be exposed as an option.

Reviewed By: campbellbarton, brecht, mont29

Differential Revision: https://developer.blender.org/D5799
August 21, 2021, 19:39 (GMT)
Use Zstandard compression for the sequencer cache

Reviewed By: campbellbarton, brecht, mont29

Differential Revision: https://developer.blender.org/D5799
August 21, 2021, 19:38 (GMT)
Refactor low-level blendfile reading into separate files

Instead of handling mmap, compression etc. all directly in readfile.c, refactor
the code to use a generic FileReader.
This makes it easier to add new compression methods or similar, and allows to
reuse the logic in other places (e.g. thumbnail reading).

Reviewed By: campbellbarton, brecht, mont29

Differential Revision: https://developer.blender.org/D5799
August 21, 2021, 17:36 (GMT)
Merge branch 'master' into compositor-full-frame
August 21, 2021, 16:15 (GMT)
D5799 macOS platform fix attempt 2
August 21, 2021, 16:09 (GMT)
D5799 macOS platform fix
August 21, 2021, 15:43 (GMT)
D5799 Part 1: FileReader refactor
August 21, 2021, 15:43 (GMT)
D5799 Part 2: ZStd support
August 21, 2021, 15:43 (GMT)
D5799 Part 3: Sequencer cache
August 21, 2021, 12:59 (GMT)
Merge branch 'master' into asset-greasepencil
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021