Page MenuHome

Cycles: enable Embree by default for CPU rendering

Authored by Brecht Van Lommel (brecht) on Jun 12 2020, 10:57 PM.



For GPU debugging purposes, it is still possible to render with the same BVH2
on the CPU using the Debug panel in the render properties.

Ref T73778

Depends on D8014

Diff Detail

rB Blender

Event Timeline

Brecht Van Lommel (brecht) requested review of this revision.Jun 12 2020, 10:57 PM
Brecht Van Lommel (brecht) created this revision.

I would love to see comparison table between BVH8 vs. Embree to show performance improvement.

The code side looks good to me.

This revision is now accepted and ready to land.Wed, Jun 17, 3:39 PM

Embree vs BVH8 on an Intel CPU
Blender 2.90 (099d47f8a310ca6b89adb4e61cc7ec15cc9c11d9)
Ubuntu 18.04, gcc 7.5.0

Barbershop7:12 (2600MB)7:07 (2189MB)
BMW1:48 (145MB)1:42 (142MB)
Classroom4:57 (321MB)5:08 (289MB)
Fishy Cat2:20 (558MB)2:37 (795MB)
Koro3:17 (390MB)4:21 (523MB)
Pavillon5:11 (156MB)5:30 (146MB)
Victor8:51 (7060MB)11:27 (8012MB)

The real big speedups come with motion blur. Taking the scene from the blog entry about the Agent 327 motion blur improvements (, frame 105:

EmbreeBVH8 (5 motion steps)

Thanks for the stats! They look ok, I guess we can improve memory usage still by not storing some geometry duplicated.