From 5539fb3121313f91b6e46d982ef62ff97763d2c2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 13 Jul 2022 15:23:50 +0200 Subject: Cycles: add presets to the Performance panel With choices Default, Lower Memory and Faster Render. For convenience, and to help communicate what the various settings do. Differential Revision: https://developer.blender.org/D15446 --- intern/cycles/blender/addon/presets.py | 26 ++++++++++++++++++++++ intern/cycles/blender/addon/ui.py | 10 +++++++++ .../scripts/presets/cycles/performance/Default.py | 12 ++++++++++ .../presets/cycles/performance/Faster_Render.py | 12 ++++++++++ .../presets/cycles/performance/Lower_Memory.py | 12 ++++++++++ 5 files changed, 72 insertions(+) create mode 100644 release/scripts/presets/cycles/performance/Default.py create mode 100644 release/scripts/presets/cycles/performance/Faster_Render.py create mode 100644 release/scripts/presets/cycles/performance/Lower_Memory.py diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py index cc6d574da99..e1f08c07eaf 100644 --- a/intern/cycles/blender/addon/presets.py +++ b/intern/cycles/blender/addon/presets.py @@ -84,10 +84,36 @@ class AddPresetViewportSampling(AddPresetBase, Operator): preset_subdir = "cycles/viewport_sampling" +class AddPresetPerformance(AddPresetBase, Operator): + '''Add an Performance Preset''' + bl_idname = "render.cycles_performance_preset_add" + bl_label = "Add Performance Preset" + preset_menu = "CYCLES_PT_performance_presets" + + preset_defines = [ + "render = bpy.context.scene.render" + "cycles = bpy.context.scene.cycles" + ] + + preset_values = [ + "render.threads_mode", + "render.use_persistent_data", + "cycles.debug_use_spatial_splits", + "cycles.debug_use_compact_bvh", + "cycles.debug_use_hair_bvh", + "cycles.debug_bvh_time_steps", + "cycles.use_auto_tile", + "cycles.tile_size", + ] + + preset_subdir = "cycles/performance" + + classes = ( AddPresetIntegrator, AddPresetSampling, AddPresetViewportSampling, + AddPresetPerformance, ) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 09aecb5cb81..3c898d4be73 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -43,6 +43,12 @@ class CYCLES_PT_integrator_presets(CyclesPresetPanel): preset_add_operator = "render.cycles_integrator_preset_add" +class CYCLES_PT_performance_presets(CyclesPresetPanel): + bl_label = "Performance Presets" + preset_subdir = "cycles/performance" + preset_add_operator = "render.cycles_performance_preset_add" + + class CyclesButtonsPanel: bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" @@ -624,6 +630,9 @@ class CYCLES_RENDER_PT_performance(CyclesButtonsPanel, Panel): bl_label = "Performance" bl_options = {'DEFAULT_CLOSED'} + def draw_header_preset(self, context): + CYCLES_PT_performance_presets.draw_panel_header(self.layout) + def draw(self, context): pass @@ -2269,6 +2278,7 @@ classes = ( CYCLES_PT_sampling_presets, CYCLES_PT_viewport_sampling_presets, CYCLES_PT_integrator_presets, + CYCLES_PT_performance_presets, CYCLES_RENDER_PT_sampling, CYCLES_RENDER_PT_sampling_viewport, CYCLES_RENDER_PT_sampling_viewport_denoise, diff --git a/release/scripts/presets/cycles/performance/Default.py b/release/scripts/presets/cycles/performance/Default.py new file mode 100644 index 00000000000..5c25f23eca0 --- /dev/null +++ b/release/scripts/presets/cycles/performance/Default.py @@ -0,0 +1,12 @@ +import bpy +render = bpy.context.scene.render +cycles = bpy.context.scene.cycles + +render.threads_mode = 'AUTO' +render.use_persistent_data = False +cycles.debug_use_spatial_splits = False +cycles.debug_use_compact_bvh = False +cycles.debug_use_hair_bvh = True +cycles.debug_bvh_time_steps = 0 +cycles.use_auto_tile = True +cycles.tile_size = 2048 diff --git a/release/scripts/presets/cycles/performance/Faster_Render.py b/release/scripts/presets/cycles/performance/Faster_Render.py new file mode 100644 index 00000000000..7f1e3c68f1f --- /dev/null +++ b/release/scripts/presets/cycles/performance/Faster_Render.py @@ -0,0 +1,12 @@ +import bpy +render = bpy.context.scene.render +cycles = bpy.context.scene.cycles + +render.threads_mode = 'AUTO' +render.use_persistent_data = True +cycles.debug_use_spatial_splits = True +cycles.debug_use_compact_bvh = False +cycles.debug_use_hair_bvh = True +cycles.debug_bvh_time_steps = 2 +cycles.use_auto_tile = True +cycles.tile_size = 2048 diff --git a/release/scripts/presets/cycles/performance/Lower_Memory.py b/release/scripts/presets/cycles/performance/Lower_Memory.py new file mode 100644 index 00000000000..d1a45f1888d --- /dev/null +++ b/release/scripts/presets/cycles/performance/Lower_Memory.py @@ -0,0 +1,12 @@ +import bpy +render = bpy.context.scene.render +cycles = bpy.context.scene.cycles + +render.threads_mode = 'AUTO' +render.use_persistent_data = False +cycles.debug_use_spatial_splits = False +cycles.debug_use_compact_bvh = True +cycles.debug_use_hair_bvh = True +cycles.debug_bvh_time_steps = 0 +cycles.use_auto_tile = True +cycles.tile_size = 512 -- cgit v1.2.3