Blender  V3.3
Public Attributes | List of all members
blender::fn::MultiFunction::ExecutionHints Struct Reference

#include <FN_multi_function.hh>

Public Attributes

int64_t min_grain_size = 10000
 
bool allocates_array = false
 
bool uniform_execution_time = true
 

Detailed Description

Information about how the multi-function behaves that help a caller to execute it efficiently.

Definition at line 109 of file FN_multi_function.hh.

Member Data Documentation

◆ allocates_array

bool blender::fn::MultiFunction::ExecutionHints::allocates_array = false

Indicates that the multi-function will allocate an array large enough to hold all indices passed in as mask. This tells the caller that it would be preferable to pass in smaller indices. Also maybe the full mask should be split up into smaller segments to decrease peak memory usage.

Definition at line 121 of file FN_multi_function.hh.

Referenced by blender::fn::compute_grain_size(), and blender::nodes::node_shader_tex_noise_cc::NoiseFunction::get_execution_hints().

◆ min_grain_size

int64_t blender::fn::MultiFunction::ExecutionHints::min_grain_size = 10000

Suggested minimum workload under which multi-threading does not really help. This should be lowered when the multi-function is doing something computationally expensive.

Definition at line 114 of file FN_multi_function.hh.

Referenced by blender::fn::compute_grain_size(), and blender::nodes::node_shader_tex_noise_cc::NoiseFunction::get_execution_hints().

◆ uniform_execution_time

bool blender::fn::MultiFunction::ExecutionHints::uniform_execution_time = true

Tells the caller that every execution takes about the same time. This helps making a more educated guess about a good grain size.

Definition at line 126 of file FN_multi_function.hh.

Referenced by blender::fn::compute_grain_size().


The documentation for this struct was generated from the following file: