Cycles/OpenCL: Reduce How Often Kernel Recompilations Are Needed

This patch will reduce the number of times that we need to
recompile kernels. It does this by (en/dis)abling features
by default. So when the user needs them that the kernels are
already available.

Other features are enabled by default for background and foreground
rendering. When in background rendering the user wants the best
render performance. When in foreground rendering the user wants
the least amount of recompilations.

Enabling volumetrics or subdivision evaluation will still trigger
a recompilation during foreground rendering.

Reviewed By: #cycles, brecht

Differential Revision: https://developer.blender.org/D4485
This commit is contained in:
2019-03-12 13:58:39 +01:00
parent 2c8bd1d8cb
commit 298dabc79b
3 changed files with 40 additions and 11 deletions

View File

@@ -658,11 +658,6 @@ DeviceRequestedFeatures Session::get_requested_device_features()
scene->shader_manager->get_requested_features(
scene,
&requested_features);
if(!params.background) {
/* Avoid too much re-compilations for viewport render. */
requested_features.max_nodes_group = NODE_GROUP_LEVEL_MAX;
requested_features.nodes_features = NODE_FEATURE_ALL;
}
/* This features are not being tweaked as often as shaders,
* so could be done selective magic for the viewport as well.