Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    EffectPriorityScheduler Class

    Namespace: Stride.Shaders.Compiler
    Assembly: Stride.Shaders.dll

    A System.Threading.Tasks.TaskScheduler with control over concurrency and priority, useful with EffectCompilerCache.

    System.Object → System.Threading.Tasks.TaskScheduler → EffectPriorityScheduler
    Derived from EffectPriorityScheduler:

    public class EffectPriorityScheduler : TaskScheduler, IDisposable
    Name Description
    Constructors
    EffectPriorityScheduler(ThreadPriority, Int32)
    Properties
    MaximumConcurrencyLevel
    QueuedTaskCount
    Methods
    Dispose()
    GetOrCreatePriorityGroup(Int32)

    Gets the or create a task scheduler for the given priority.

    GetScheduledTasks()
    QueueTask(Task)
    TryExecuteTaskInline(Task, Boolean)
    | Improve this Doc View Source

    Constructors


    EffectPriorityScheduler(ThreadPriority, Int32)

    public EffectPriorityScheduler(ThreadPriority threadPriority, int maximumConcurrencyLevel)
    Parameters
    Type Name Description
    System.Threading.ThreadPriority threadPriority
    System.Int32 maximumConcurrencyLevel
    | Improve this Doc View Source

    Properties


    MaximumConcurrencyLevel

    public override int MaximumConcurrencyLevel { get; }
    Property Value
    Type Description
    System.Int32
    Overrides
    System.Threading.Tasks.TaskScheduler.MaximumConcurrencyLevel

    QueuedTaskCount

    public int QueuedTaskCount { get; }
    Property Value
    Type Description
    System.Int32
    | Improve this Doc View Source

    Methods


    Dispose()

    public void Dispose()

    GetOrCreatePriorityGroup(Int32)

    Gets the or create a task scheduler for the given priority.

    public TaskScheduler GetOrCreatePriorityGroup(int priority)
    Parameters
    Type Name Description
    System.Int32 priority

    The priority.

    Returns
    Type Description
    System.Threading.Tasks.TaskScheduler

    GetScheduledTasks()

    protected override IEnumerable<Task> GetScheduledTasks()
    Returns
    Type Description
    System.Collections.Generic.IEnumerable<System.Threading.Tasks.Task>
    Overrides
    System.Threading.Tasks.TaskScheduler.GetScheduledTasks()

    QueueTask(Task)

    protected override void QueueTask(Task task)
    Parameters
    Type Name Description
    System.Threading.Tasks.Task task
    Overrides
    System.Threading.Tasks.TaskScheduler.QueueTask(System.Threading.Tasks.Task)

    TryExecuteTaskInline(Task, Boolean)

    protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
    Parameters
    Type Name Description
    System.Threading.Tasks.Task task
    System.Boolean taskWasPreviouslyQueued
    Returns
    Type Description
    System.Boolean
    Overrides
    System.Threading.Tasks.TaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, System.Boolean)

    Inherited Members

    System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext()
    System.Threading.Tasks.TaskScheduler.TryDequeue(System.Threading.Tasks.Task)
    System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)
    System.Threading.Tasks.TaskScheduler.Current
    System.Threading.Tasks.TaskScheduler.Default
    System.Threading.Tasks.TaskScheduler.Id
    System.Threading.Tasks.TaskScheduler.UnobservedTaskException

    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation