Class ParallelRowIterator
Utility methods for batched processing of pixel row intervals. Parallel execution is optimized for image processing based on values defined ParallelExecutionSettings or Configuration. Using this class is preferred over direct usage of Parallel utility methods.
Inherited Members
Namespace: SixLabors.ImageSharp.Advanced
Assembly: SixLabors.ImageSharp.dll
Syntax
public static class ParallelRowIterator
Methods
| Edit this page View SourceIterateRowIntervals<T>(Configuration, Rectangle, in T)
Iterate through the rows of a rectangle in optimized batches defined by RowInterval-s.
Declaration
public static void IterateRowIntervals<T>(Configuration configuration, Rectangle rectangle, in T operation) where T : struct, IRowIntervalOperation
Parameters
Type | Name | Description |
---|---|---|
Configuration | configuration | The Configuration to get the parallel settings from. |
Rectangle | rectangle | The Rectangle. |
T | operation | The operation defining the iteration logic on a single RowInterval. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
IterateRowIntervals<T>(Rectangle, in ParallelExecutionSettings, in T)
Iterate through the rows of a rectangle in optimized batches defined by RowInterval-s.
Declaration
public static void IterateRowIntervals<T>(Rectangle rectangle, in ParallelExecutionSettings parallelSettings, in T operation) where T : struct, IRowIntervalOperation
Parameters
Type | Name | Description |
---|---|---|
Rectangle | rectangle | The Rectangle. |
ParallelExecutionSettings | parallelSettings | |
T | operation | The operation defining the iteration logic on a single RowInterval. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
IterateRowIntervals<T, TBuffer>(Configuration, Rectangle, in T)
Iterate through the rows of a rectangle in optimized batches defined by RowInterval-s
instantiating a temporary buffer for each operation
invocation.
Declaration
public static void IterateRowIntervals<T, TBuffer>(Configuration configuration, Rectangle rectangle, in T operation) where T : struct, IRowIntervalOperation<TBuffer> where TBuffer : unmanaged
Parameters
Type | Name | Description |
---|---|---|
Configuration | configuration | The Configuration to get the parallel settings from. |
Rectangle | rectangle | The Rectangle. |
T | operation | The operation defining the iteration logic on a single RowInterval. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
TBuffer | The type of buffer elements. |
IterateRowIntervals<T, TBuffer>(Rectangle, in ParallelExecutionSettings, in T)
Iterate through the rows of a rectangle in optimized batches defined by RowInterval-s
instantiating a temporary buffer for each operation
invocation.
Declaration
public static void IterateRowIntervals<T, TBuffer>(Rectangle rectangle, in ParallelExecutionSettings parallelSettings, in T operation) where T : struct, IRowIntervalOperation<TBuffer> where TBuffer : unmanaged
Parameters
Type | Name | Description |
---|---|---|
Rectangle | rectangle | The Rectangle. |
ParallelExecutionSettings | parallelSettings | |
T | operation | The operation defining the iteration logic on a single RowInterval. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
TBuffer | The type of buffer elements. |
IterateRows<T>(Configuration, Rectangle, in T)
Iterate through the rows of a rectangle in optimized batches.
Declaration
public static void IterateRows<T>(Configuration configuration, Rectangle rectangle, in T operation) where T : struct, IRowOperation
Parameters
Type | Name | Description |
---|---|---|
Configuration | configuration | The Configuration to get the parallel settings from. |
Rectangle | rectangle | The Rectangle. |
T | operation | The operation defining the iteration logic on a single row. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
IterateRows<T>(Rectangle, in ParallelExecutionSettings, in T)
Iterate through the rows of a rectangle in optimized batches.
Declaration
public static void IterateRows<T>(Rectangle rectangle, in ParallelExecutionSettings parallelSettings, in T operation) where T : struct, IRowOperation
Parameters
Type | Name | Description |
---|---|---|
Rectangle | rectangle | The Rectangle. |
ParallelExecutionSettings | parallelSettings | |
T | operation | The operation defining the iteration logic on a single row. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
IterateRows<T, TBuffer>(Configuration, Rectangle, in T)
Iterate through the rows of a rectangle in optimized batches.
instantiating a temporary buffer for each operation
invocation.
Declaration
public static void IterateRows<T, TBuffer>(Configuration configuration, Rectangle rectangle, in T operation) where T : struct, IRowOperation<TBuffer> where TBuffer : unmanaged
Parameters
Type | Name | Description |
---|---|---|
Configuration | configuration | The Configuration to get the parallel settings from. |
Rectangle | rectangle | The Rectangle. |
T | operation | The operation defining the iteration logic on a single row. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
TBuffer | The type of buffer elements. |
IterateRows<T, TBuffer>(Rectangle, in ParallelExecutionSettings, in T)
Iterate through the rows of a rectangle in optimized batches.
instantiating a temporary buffer for each operation
invocation.
Declaration
public static void IterateRows<T, TBuffer>(Rectangle rectangle, in ParallelExecutionSettings parallelSettings, in T operation) where T : struct, IRowOperation<TBuffer> where TBuffer : unmanaged
Parameters
Type | Name | Description |
---|---|---|
Rectangle | rectangle | The Rectangle. |
ParallelExecutionSettings | parallelSettings | |
T | operation | The operation defining the iteration logic on a single row. |
Type Parameters
Name | Description |
---|---|
T | The type of row operation to perform. |
TBuffer | The type of buffer elements. |