Struct ParallelExecutionSettings
Defines execution settings for methods in ParallelRowIterator.
Inherited Members
Namespace: SixLabors.ImageSharp.Advanced
Assembly: SixLabors.ImageSharp.dll
Syntax
public readonly struct ParallelExecutionSettings
Constructors
ParallelExecutionSettings(int, MemoryAllocator)
Initializes a new instance of the ParallelExecutionSettings struct.
Declaration
public ParallelExecutionSettings(int maxDegreeOfParallelism, MemoryAllocator memoryAllocator)
Parameters
| Type | Name | Description |
|---|---|---|
| int | maxDegreeOfParallelism | The value used for initializing MaxDegreeOfParallelism when using TPL. |
| MemoryAllocator | memoryAllocator | The MemoryAllocator. |
ParallelExecutionSettings(int, int, MemoryAllocator)
Initializes a new instance of the ParallelExecutionSettings struct.
Declaration
public ParallelExecutionSettings(int maxDegreeOfParallelism, int minimumPixelsProcessedPerTask, MemoryAllocator memoryAllocator)
Parameters
| Type | Name | Description |
|---|---|---|
| int | maxDegreeOfParallelism | The value used for initializing MaxDegreeOfParallelism when using TPL. |
| int | minimumPixelsProcessedPerTask | The value for MinimumPixelsProcessedPerTask. |
| MemoryAllocator | memoryAllocator | The MemoryAllocator. |
Fields
DefaultMinimumPixelsProcessedPerTask
Default value for MinimumPixelsProcessedPerTask.
Declaration
public const int DefaultMinimumPixelsProcessedPerTask = 4096
Field Value
| Type | Description |
|---|---|
| int |
Properties
MaxDegreeOfParallelism
Gets the value used for initializing MaxDegreeOfParallelism when using TPL.
Declaration
public int MaxDegreeOfParallelism { get; }
Property Value
| Type | Description |
|---|---|
| int |
MemoryAllocator
Gets the MemoryAllocator.
Declaration
public MemoryAllocator MemoryAllocator { get; }
Property Value
| Type | Description |
|---|---|
| MemoryAllocator |
MinimumPixelsProcessedPerTask
Gets the minimum number of pixels being processed by a single task when parallelizing operations with TPL. Launching tasks for pixel regions below this limit is not worth the overhead. Initialized with DefaultMinimumPixelsProcessedPerTask by default, the optimum value is operation specific. (The cheaper the operation, the larger the value is.)
Declaration
public int MinimumPixelsProcessedPerTask { get; }
Property Value
| Type | Description |
|---|---|
| int |
Methods
FromConfiguration(Configuration)
Get the default ParallelExecutionSettings for a Configuration
Declaration
public static ParallelExecutionSettings FromConfiguration(Configuration configuration)
Parameters
| Type | Name | Description |
|---|---|---|
| Configuration | configuration | The Configuration. |
Returns
| Type | Description |
|---|---|
| ParallelExecutionSettings |
MultiplyMinimumPixelsPerTask(int)
Creates a new instance of ParallelExecutionSettings
having MinimumPixelsProcessedPerTask multiplied by multiplier
Declaration
public ParallelExecutionSettings MultiplyMinimumPixelsPerTask(int multiplier)
Parameters
| Type | Name | Description |
|---|---|---|
| int | multiplier | The value to multiply MinimumPixelsProcessedPerTask with. |
Returns
| Type | Description |
|---|---|
| ParallelExecutionSettings | The modified ParallelExecutionSettings. |