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) |
October 9, 2020, 07:08 (GMT) |
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 |
|
|
|


Master Commits
MiikaHweb | 2003-2021