|
Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
Recursively splits a range and tries to limit number of splits to the number of workers in the executing scheduler. More...
#include <Partitioners.h>
Public Types | |
| using | splitter_type = ProportionalSplitter |
Public Member Functions | |
| template<typename TRange > | |
| GTS_INLINE | StaticPartitioner (StaticPartitioner &partitioner, uint16_t, TRange const &) |
| template<typename TPattern , typename TRange > | |
| GTS_INLINE Task * | execute (TaskContext const &ctx, TPattern *pPattern, TRange &range) |
| template<typename TPattern , typename TRange > | |
| GTS_INLINE void | initialOffer (TaskContext const &ctx, TPattern *pPattern, TRange &range, splitter_type const &splitter) |
| template<typename TPattern , typename TRange > | |
| GTS_INLINE Task * | doExecute (TaskContext const &ctx, TPattern *pPattern, TRange &range, splitter_type const &splitter) |
| template<typename TRange > | |
| GTS_INLINE void | adjustIfStolen (Task *) |
| template<typename TRange > | |
| GTS_INLINE void | initialize (uint16_t workerCount) |
| template<typename TRange > | |
| GTS_INLINE void | split () |
| GTS_INLINE bool | isDivisible () |
Static Public Member Functions | |
| template<typename TRange > | |
| static GTS_INLINE uint16_t | getSplit (StaticPartitioner &partitioner) |
Recursively splits a range and tries to limit number of splits to the number of workers in the executing scheduler.