Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <jbakker>2020-06-02 16:59:30 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2020-06-02 17:01:14 +0300
commit752139556f58988d8717e12f6288fdce7eedd2ce (patch)
tree08bb1e1558e14fba0c6f9a615180caa9dca588b6 /source/blender/makesdna
parentbf34b0c8f4b8c64bcc4ec0f3371d343e9c2fe029 (diff)
BVHCache: Performance
This patch changes the BVHCache implementation. It will use a primitive array in stead of the ListBase. The locking is also changed from a global lock to a per cache instance lock. The performance of `gabby.blend` available on the cloud increased from 9.7 fps to 10.5 fps. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D7817
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_mesh_types.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h
index 029352f3d85..acc020ec710 100644
--- a/source/blender/makesdna/DNA_mesh_types.h
+++ b/source/blender/makesdna/DNA_mesh_types.h
@@ -33,6 +33,7 @@ extern "C" {
#endif
struct AnimData;
+struct BVHCache;
struct Ipo;
struct Key;
struct LinkNode;
@@ -99,8 +100,8 @@ typedef struct Mesh_Runtime {
struct MLoopTri_Store looptris;
- /** 'BVHCache', for 'BKE_bvhutil.c' */
- struct LinkNode *bvh_cache;
+ /** `BVHCache` defined in 'BKE_bvhutil.c' */
+ struct BVHCache *bvh_cache;
/** Non-manifold boundary data for Shrinkwrap Target Project. */
struct ShrinkwrapBoundaryData *shrinkwrap_data;