Go to file
Antony Riakiotakis b01dd748b6 Dyntopo PBVH build optimization:
Optimize the full rebuild case for now (though same code can be adapted to
partial redraws)

Main changes here:

* Calculate bounding centroid for faces only once (instead of every intermediate node)
* Faces do not get added to GSets immediately, instead we track a face
array which has faces that belong in a node in consecutive order.
Nodes just keep accounting of start and length in the array.
* Due to faces not being added to GSets, we can skip doing cleanup of GSets
and readdition for each intermediate node and instead only
add the faces to the final leafs node GSets when those nodes are created.

Results:
For a 1.9 million face test model, PBVH generation time (roughly measured by undoing) is
dropped from 6 seconds to about 4 seconds. Still too high, but still a nice improvement.

TODO:
Thread some parts. Unfortunately threading the GSet assignment part might not help much since
we'd need a lot of locking to avoid collisions with node assignments, especially for unique vertices.
2015-05-12 21:03:16 +02:00
build_files Depsgraph: New dependency graph integration commit 2015-05-12 16:06:37 +05:00
doc Doc: add bpy.utils.previews 2015-05-12 18:24:32 +10:00
extern Cleanup: warnings 2015-04-19 22:03:42 +10:00
intern Fix T44616: Cycles crashes loading 42k by 21k textures 2015-05-12 18:48:55 +05:00
release PyAPI: Remove release method, just use delitem 2015-05-12 18:43:30 +10:00
scons@625d446ae8 Fixed border extension for the sunbeams node. 2014-09-23 11:42:11 +02:00
source Dyntopo PBVH build optimization: 2015-05-12 21:03:16 +02:00
tests RNA defaults test 2015-05-01 01:15:55 +10:00
.arcconfig Use HTTPS protocol for arc 2013-12-24 22:57:27 +06:00
.gitignore Revert "ignore conflict files" 2014-08-08 06:00:49 +10:00
.gitmodules Initialize git submodules for addons, locales and scons 2013-11-15 12:19:08 +06:00
CMakeLists.txt Depsgraph: New dependency graph integration commit 2015-05-12 16:06:37 +05:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile tweaks to packman build 2015-03-24 07:49:17 +11:00
SConstruct Fix T31546 fragment program gets created every frame 2015-04-09 20:20:50 +02:00