Page MenuHome

T61463: Separate Baking kernels
ClosedPublic

Authored by Jeroen Bakker (jbakker) on Feb 19 2019, 2:22 PM.

Details

Summary

Cycles OpenCL: Split baking kernels in own program

Fix T61463. Before this patch baking was part of the base kernels. There
are 3 baking kernels that and all 3 uses shader evaluation. Only for one
of these kernels the functionality was wrapped in the NO_BAKING
compile directive.

When you start baking this leads to long compile times. By separating
in individual programs will reduce the compile times.

Also wrapped all baking kernels with NO_BAKING to reduce the
compilation times.

Impact on compilation time

  job   |   scene_name    | previous |  new  | percentage 
--------+-----------------+----------+-------+------------
 T61463 | empty           |    10.63 |  7.27 |         32%
 T61463 | bmw             |    17.91 | 14.24 |         20%
 T61463 | fishycat        |    19.57 | 15.08 |         23%
 T61463 | barbershop      |    54.10 | 48.18 |         11%
 T61463 | classroom       |    17.55 | 14.42 |         18%
 T61463 | koro            |    18.92 | 17.15 |          9%
 T61463 | pavillion       |    17.43 | 14.23 |         18%
 T61463 | splash279       |    16.48 | 15.33 |          7%
 T61463 | volume_emission |    36.22 | 34.19 |          6%

Impact on render time

  job   |   scene_name    | previous |   new   | percentage 
--------+-----------------+----------+---------+------------
 T61463 | empty           |    21.06 |   20.54 |          2%
 T61463 | bmw             |   198.44 |  189.59 |          4%
 T61463 | fishycat        |   394.20 |  388.50 |          1%
 T61463 | barbershop      |  1188.16 | 1185.49 |          0%
 T61463 | classroom       |   341.08 |  339.27 |          1%
 T61463 | koro            |   472.43 |  360.70 |         24%
 T61463 | pavillion       |   905.77 |  902.14 |          0%
 T61463 | splash279       |    55.26 |   54.92 |          1%
 T61463 | volume_emission |    62.59 |   39.09 |         38%

I don't have a grounded explanation why koro and volume_emission is this much
faster; I have done several tests though...

Diff Detail

Repository
rB Blender

Event Timeline

That render time difference is really quite odd.

I guess by being compiled together bake was somehow affecting displace, background or even zero_buffer?

This revision is now accepted and ready to land.Feb 19 2019, 3:10 PM
This revision was automatically updated to reflect the committed changes.