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
This commit is contained in:
Brecht Van Lommel 2022-07-13 15:23:50 +02:00
parent 02ce29c6ee
commit 5539fb3121
5 changed files with 72 additions and 0 deletions

View File

@ -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,
)

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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