Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
gts::MicroSchedulerDesc Struct Reference

The description of a MicroScheduler. More...

#include <MicroSchedulerTypes.h>

Public Attributes

WorkerPoolpWorkerPool = nullptr
 The WorkerPool to the MicroScheduler will run on.
 
uint32_t priorityCount = 1
 The number of Task priorities. Priorities are indexed [0, priorityCount), with zero being the highest priority. Must be >= 1.
 
int16_t priorityBoostAge = INT16_MAX
 The age for each Worker when a lower priority Task will try to be executed. Age is measured in number of Task executions since the last boost.
 
bool canStealExternalTasks = true
 Flag to allow a MicroScheduler to steal for its external victim. More...
 
bool canStealBackTasks = false
 Flag to allow a MicroScheduler to steal back from the last LocalScheduler that stole from it.
 
char name [DESC_NAME_SIZE] = { 0 }
 A name to help with debugging.
 

Detailed Description

The description of a MicroScheduler.

Member Data Documentation

◆ canStealExternalTasks

bool gts::MicroSchedulerDesc::canStealExternalTasks = true

Flag to allow a MicroScheduler to steal for its external victim.

Remarks
Used my MacroScheduler algorithm. If false, external theft is enabled through MicroScheduler::stealAndExecuteTask.