A C++ task scheduling framework designed for game engines to express parallelism and maximize performance on multi-processor platforms.
Intel Games Task Scheduler (GTS) is a C++ task scheduling framework designed for multi-processor platforms, particularly targeting game engine developers. It allows developers to express applications in task parallelism while the framework handles maximizing physical parallelism across available processors to meet real-time performance demands like 60+ FPS rendering.
Game engine developers who need a highly customized, platform-scalable task system (or job system) for real-time applications with thousands of concurrent tasks and dedicated worker threads.
Developers choose GTS for its simplicity in expressing task parallelism, efficient scheduling algorithms tailored for game engines, and easy integration through configurable platform overrides, enabling experimentation with state-of-the-art scheduling techniques.
A task scheduling framework designed for the needs of game developers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
GTS allows complete replacement of its platform layer through user_config.h, making it straightforward to integrate into existing game engines with custom code and work-arounds.
Uses user-mode synchronization primitives to reduce contention and avoid kernel-mode overhead, which is critical for real-time performance in games targeting 60+ FPS.
Provides parallel patterns that let developers jump right into parallelism without writing low-level boilerplate code, speeding up implementation.
With the WorkerPool, developers can carve up CPU resources as needed, offering fine-grained control over thread management for customized scheduling.
Intel ceased all development in 2021, meaning no bug fixes, updates, or support, which poses significant risks for production use in modern game engines.
Despite platform overrides, integrating GTS requires deep C++ expertise and custom code to match engine-specific needs, which can be time-consuming and error-prone.
Being discontinued, the documentation and community support are likely outdated or minimal, making troubleshooting and adoption harder compared to active alternatives.