Blender Git Loki

Kaikki Blender Git kommitit.

Page: 1218 / 8462

October 9, 2020, 10:55 (GMT)
Volumes: lower minimal voxel size in Mesh to Volume modifier

The 0.1 limit was too large. The issue with making it smaller is that
one can easily crash blender by making it to small. To counteract this,
the step has been reduced as well.

A voxel size/amount of 0 disables the modifier.
October 9, 2020, 10:37 (GMT)
BKE: improve calculating edges

This is a follow up commit for rB309c919ee9.
Clearing hash tables is now parallelized as well. Surprisingly, most of
the time is actually spent in `free` (a couple of milliseconds per call
in my test).

Benchmark of individual functions:
reserve_hash_maps: 17%
add_polygon_edges_to_hash_maps: 49%
serialize_and_initialize_deduplicated_edges: 12%
update_edge_indices_in_poly_loops: 14%
clear_hash_tables: 5%
October 9, 2020, 09:56 (GMT)
BKE: parallelize BKE_mesh_calc_edges

`BKE_mesh_calc_edges` was the main performance bottleneck in D9141.
While openvdb only needed ~115ms, calculating the edges afterwards
took ~960ms. Now with some parallelization this is reduced to ~210ms.

Parallelizing `BKE_mesh_calc_edges` is not entirely trivial, because it
has to perform deduplication and some other things that have to happen
in a certain order. Even though the multithreading improves performance
with more threads, there are diminishing returns when too many threads
are used in this function.

The speedup is mainly achieved by having multiple hash tables that are
filled in parallel. The distribution of the edges to hash tables is based on
a hash (that is different from the hash used in the actual hash tables).

I moved the function to C++, because that made it easier for me to
optimize it. Furthermore, I added `BLI_task.hh` which contains some
light tbb wrappers for parallelization.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D9151
October 9, 2020, 07:47 (GMT)
Fix T81468: Missing NULL check for F-curve rna_path in versionning code.
October 9, 2020, 07:20 (GMT)
UI: Fix node label overflow on high-DPI

Ref D9099
October 9, 2020, 07:08 (GMT)
Cleanup: spelling

Ref D9138
October 9, 2020, 05:27 (GMT)
CleanUp: Introduce `eMeshBatchDirtyMode` enum

It used to be an int mode.
October 9, 2020, 05:25 (GMT)
Revert "CleanUp: Introduce `eMeshBatchDirtyMode` enum"

This reverts commit 0796807720882731cdb70be144aa182e9b0b9ee5.
October 9, 2020, 05:17 (GMT)
only clear the modified flags after updating the device data
October 9, 2020, 05:17 (GMT)
alembic, set the name of the nodes based of those of the iobjects
October 9, 2020, 03:04 (GMT)
UI: use Ctrl-TrackPad to cycle values

Minor change missing from 9bfea67751dc59554c8928802b4e1f04278ab537

Ref D8530
October 9, 2020, 01:37 (GMT)
PyDoc: Set max width to 1000px

While not full width this gives a nice trade off between improved screen
use space and readibility.
The old value was 80 so this gives 25% more screen space.

See T73223
October 9, 2020, 01:14 (GMT)
Cleanup: operator execution types didn't read well on one line
October 9, 2020, 01:12 (GMT)
Cleanup: spelling
October 9, 2020, 01:11 (GMT)
PyDoc: resolve duplicate module warnings

Remove submodule listings from the module docstring,
as this information already exists in the generator.
October 9, 2020, 01:11 (GMT)
Cleanup: use real-module for 'bmesh.ops'

Replace module-like object with Python module,
this simplifies checks for generating API docs and is more correct.
October 8, 2020, 23:51 (GMT)
cleanup, revert unnecessary changes from master
October 8, 2020, 23:50 (GMT)
cleanup, remove unnecessary namespace qualifiers
October 8, 2020, 23:50 (GMT)
add convenience function to tag sockets as modified
October 8, 2020, 23:50 (GMT)
cleanup, remove dead code
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021