Thread List¶
Threads¶
These are the threads of a running ReXGlue program, by the name a debugger or profiler shows. See App Lifecycle for the UI thread and Kernel Services for guest threads.
| Thread | Purpose | Lifetime |
|---|---|---|
| UI thread | Runs every TitleApp step and hook, the window and its event loop. |
The thread that calls App::Init, usually the main thread of the process. |
Main XThread |
Runs the entry point of the title. | Starts in TitleRuntime::Launch and stops when the title unloads. |
XThread and a hex ID, such as XThread000A |
Runs a thread that the title creates. A thread that the title names shows its own name. | Starts in ExCreateThread and stops when the thread exits or the title unloads. |
Title Monitor |
Reports a normal exit when the main thread returns. | Starts in TitleRuntime::Launch and stops in TitleRuntime::Unload. |
Kernel Dispatch |
Runs deferred overlapped completions and queued DPCs. | Starts when TitleRuntime::Load loads the executable and stops when the title unloads. |
GPU Commands |
Runs the command processor, which reads the commands the title writes for the GPU. | Starts when TitleRuntime::Launch attaches the title to a Xenos graphics driver and stops when the title detaches. |
GPU VSync |
Raises the vertical blank interrupt at the refresh rate. | The same as GPU Commands. |
Audio Worker |
Calls the audio callbacks of the title. | Starts when TitleRuntime::Launch starts guest audio and stops when the title unloads. |
XMA Decoder |
Decodes XMA audio. | Starts and stops with Audio Worker. |
rex::platform::TimerQueue |
Fires guest timers. The process has one. | Starts with the first timer and stops in rex::Stop, which App::Shutdown calls. |
DXGI UI Tick |
Ticks the UI of the presenter. Windows only. | Starts when the presenter is set up and stops when it shuts down. |
| The spdlog flush thread, with no name | Flushes the log every log.flush_interval seconds. |
Starts when the log file opens and stops when the logger session ends. |
Shutdown Signals |
Waits for SIGINT and SIGTERM. Linux and macOS only. | Starts in App::Init and stops in App::Shutdown. |
The graphics driver modules start threads that build pipelines and translate shaders: D3D12 Pipelines, Vulkan Pipelines, Shader Translation, D3D12 Storage writer and Vulkan Storage writer.
On Windows, the system calls the console control handler for Ctrl+C and for closing the console window on a thread of its own.