Blender Git Commit Log

Git Commits -> Revision bf55afb

Revision bf55afb by Sergey Sharybin (master)
April 4, 2016, 12:43 (GMT)
Cycles: Make spatial split BVH multi-threaded

The title actually covers it all, This commit exploits all the work
being done in previous changes to make it possible to build spatial
splits in threads.

Works quite nicely, but has a downside of some extra memory usage.
In practice it doesn't seem to be a huge problem and that we can
always look into later if it becomes a real showstopper.

In practice it shows some nice speedup:

- BMW27 scene takes 3 now (used to be 4)
- Agent shot takes 5 sec (used to be 80)

Such non-linear speedup is most likely coming from much less amount
of heap re-allocations. A a downside, there's a bit of extra memory
used by BVH arrays. From the tests amount of extra memory is below
0.001% so far, so it's not that bad at all.

Reviewers: brecht, juicyfruit, dingto, lukasstockner97

Differential Revision: https://developer.blender.org/D1820

Commit Details:

Full Hash: bf55afbf266c681df6193f938e8651d647bf39ac
Parent Commit: be2186a
Lines Changed: +304, -109

4 Modified Paths:

/intern/cycles/bvh/bvh_build.cpp (+239, -78) (Diff)
/intern/cycles/bvh/bvh_build.h (+22, -13) (Diff)
/intern/cycles/bvh/bvh_split.cpp (+21, -10) (Diff)
/intern/cycles/bvh/bvh_split.h (+22, -8) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021