Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
Clone the repository.
The paths below are relative to the root location where GTS was cloned.
Files | Description |
---|---|
source/gts/include/ | Public header files. |
File | Description |
---|---|
_build/gts_malloc/<vs*>/<compiler_flavor>/<build_flavor>/gts_malloc_static.lib | GTS Malloc static library |
Refer to the Microsoft Visual Studio documentation on linking the application using MSVS solutions.
File | Description |
---|---|
_build/gts_malloc/gmake/<build_flavor>/gts_malloc.a | GTS Malloc static library |
File | Description |
---|---|
_build/gts_malloc/<vs*>/<compiler_flavor>/<build_flavor>/gts_malloc_shared.lib | GTS Malloc import library |
_build/gts_malloc/<vs*>/<compiler_flavor>/<build_flavor>/gts_malloc_shared.dll | GTS Malloc shared libaray |
_build/gts_malloc/<vs*>/<compiler_flavor>/<build_flavor>/gts_malloc_redirect.lib | GTS Malloc redirection import library |
_build/gts_malloc/<vs*>/<compiler_flavor>/<build_flavor>/gts_malloc_redirect.dll | GTS Malloc redirection shared library |
Refer to the Microsoft Visual Studio documentation on linking the application using MSVS solutions.
File | Description |
---|---|
_build/gts_malloc/gmake/<build_flavor>/gts_malloc_shared.so | GTS Malloc shared libaray |
Statically link gts_malloc. Include GtsMallocCOverride.h in each translation unit that will override malloc.
Dynamically link gts_malloc and gts_malloc_redirect. gts_malloc_redirect will automatically redirect calls to malloc.
Preload gts_malloc:
To further override new/delete, include GtsMallocCppOverride.h.
GTS Malloc supports the following build-time options.
Option | Supported values (defaults in bold) | Description |
---|---|---|
GTS_ENABLE_ASSERTS | not defined, defined | Enables asserts in NDEBUG builds. |
GTS_ENABLE_INTERNAL_ASSERTS | not defined, defined | Enables internal asserts in NDEBUG builds. |
GTS_TRACE_CONCURRENT_USE_LOGGER | 0, 1 | Enables tracing with the ConcurrentLogger. |
GTS_TRACE_USE_TRACY | 0, 1 | Enables tracing with the Tracy. |
GTS_TRACE_USE_RAD_TELEMETRY | 0, 1 | Enables tracing with the RAD Telemetry. not tested |
GTS_TRACE_USE_ITT | 0, 1 | Enables tracing with Intel's ITT. |
GTS_ENABLE_COUNTER | not defined, defined | Enables statistics counters. |
GTS_HAS_CUSTOM_CPU_INTRINSICS_WRAPPERS | not defined, defined | Indicates that the CPU intrinsic wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_OS_MEMORY_WRAPPERS | not defined, defined | Indicates that the OS memory wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_THREAD_WRAPPERS | not defined, defined | Indicates that the OS thread wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_EVENT_WRAPPERS | not defined, defined | Indicates that the OS event wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_ATOMICS_WRAPPERS | not defined, defined | Indicates that the atomics wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_ASSERT_WRAPPER | not defined, defined | Indicates that assert handling will be user provided in user_config.h. |
GTS_HAS_CUSTOM_TRACE_WRAPPER | not defined, defined | Indicates that the trace wrappers will be user provided in user_config.h. |
Tracing overrides have the folowing precedence ordering:
See Tracing (TBD) for details.
If the user defines any of the GTS_HAS_CUSTOM_*; they must implement the corresponding macro in their user_config.h.
See Platform Replacement for details.