Hardware-Accelerated GPU Scheduling (HAGS) has emerged as a pivotal feature in the realm of Windows operating systems, first making its debut in Windows 10 in May 2020 and continuing its journey into Windows 11. This feature often sparks lively discussions among users, with opinions divided on whether it should be enabled or disabled. While some gamers report issues when HAGS is activated, it generally offers a net positive experience for the majority, despite some initial hiccups.
What was WDDM, the precursor to HAGS?
The Windows Display Driver Model 1.0 (WDDM) was introduced around 2006, bringing with it a more sophisticated approach to GPU scheduling. Prior to WDDM, GPU scheduling was rudimentary, relying on a global queue that executed tasks on a strict first-come, first-served basis. This method sufficed when GPU usage was primarily limited to single full-screen applications, but as software complexity grew, it became increasingly inadequate.
WDDM revolutionized this process by implementing a GPU scheduler capable of prioritizing tasks more effectively. Over the years, this scheduler has evolved, incorporating new features and optimizations with each iteration. However, the core principle remained: a high-priority thread on the CPU was responsible for coordinating and prioritizing tasks from multiple applications for execution on the GPU.
This CPU-centric scheduling model, while functional, introduced inherent limitations. Each task submission involved overhead as the CPU communicated with the GPU. Applications often masked this overhead through buffering, preparing GPU tasks in advance. For instance, while the GPU processed tasks for the current frame, the CPU would simultaneously prepare tasks for the subsequent frame. Although this approach minimized scheduling costs, it also increased latency, resulting in delayed user feedback in certain scenarios.
What is Hardware-Accelerated GPU Scheduling, or HAGS?
HAGS addresses these limitations by offloading many scheduling tasks directly to the GPU, thus bypassing the CPU bottleneck and enhancing processing efficiency. Windows maintains control over application prioritization, ensuring critical tasks receive necessary resources, while routine scheduling operations are delegated to the GPU. This shift is designed to improve the overall efficiency of the graphics subsystem within Windows.
Initially introduced as an opt-in feature, HAGS can be enabled by users with compatible hardware through the Graphics Settings menu in Windows. Microsoft has gathered telemetry data over time to confirm its reliability and minimize issues for end users. While modern GPUs support HAGS, Intel Arc GPUs notably do not, opting instead for WDDM 2.7.
By default, HAGS is turned off in Windows, but users can activate it by adjusting their graphics settings and rebooting their systems. However, caution is advised, as there are scenarios where enabling HAGS may not be beneficial. Its prolonged testing phase suggests that some teething issues may still persist.
When should you keep HAGS off?
It’s situational
Some applications and games may specifically request that users disable HAGS. For instance, developers of OBS recommend turning off HAGS to avoid performance issues. Users can experiment with enabling it, but if problems arise, reverting to the off position is advisable.
Similarly, developers of the Sunshine application suggest disabling HAGS in certain conditions, particularly when using the NVENC encoder, which is likely where conflicts with OBS occur. They note:
Currently, NVIDIA drivers may freeze in the encoder when HAGS is enabled, real-time priority is used, and VRAM utilization is close to maximum. Disabling this option lowers the priority to high, sidestepping the freeze at the cost of reduced capture performance when the GPU is heavily loaded.
This situation may also clarify why some users encounter difficulties with HAGS enabled during regular use. NVENC is utilized for NVIDIA’s ShadowPlay, which allows users to capture gameplay clips. As HAGS remains an experimental feature, it is not surprising that it still exhibits limitations. Fortunately, many of Sunshine’s issues with NVENC have been resolved through default workarounds.
Additionally, some older and even newer games may experience complications with HAGS activated. For example, players have reported that Valorant may crash or stutter when HAGS is enabled. However, HAGS is essential for features like frame generation in DLSS 3. Thus, users are encouraged to try HAGS and assess its impact on their system. If no adverse effects are noted, it may be worthwhile to keep it enabled; otherwise, it can be safely turned off if not needed.