What Is Windows 10 Hardware Accelerated GPU Scheduling, Why You Should Care And What Comes Next
The latest driver releases from AMD and NVIDIA both add official support for a new 'hardware accelerated GPU scheduling' feature found in Windows 10 version 2004 (May 2020 Update). This is not something AMD or NVIDIA have highlighted in depth, so you might be wondering what exactly it does, and why you should care. We have answers, courtesy of Microsoft.
Steve Pronovost, the Partner Development Lead at Microsoft who has been with the company for nearly two decades, offered some insight into the feature in a blog post. According to Pronovost, hardware accelerated GPU scheduling is part of a broader initiative to be on the "cutting edge of hardware innovation."
The feature is part of the Windows Display Driver Model (WDDM), and it has always been there to some extent (since version 1.0). Prior to the introduction of WDDM, applications could ping the GPU whenever they wanted, and those instructions would be executed in the order they were received.
"These very rudimentary scheduling schemes were workable, at a time where most GPU applications were full screen games, being run one at a time. With the transition to a broad set of applications using the GPU for richer graphics and animations, the platform needed to better prioritize GPU work to ensure a responsive user experience. Thus, the WDDM GPU scheduler was born," Pronovost explains.
Microsoft has worked to enhanced the GPU scheduler over the years, though up until now, it's always been managed by a high priority thread running on the CPU. That changes with the May 2020 Update and the new Hardware Accelerated GPU Scheduling toggle.
When turned on, the new feature offloads most of the GPU scheduling to a dedicated GPU-based scheduling processor.
"Windows continues to control prioritization and decide which applications have priority among contexts. We offload high frequency tasks to the GPU scheduling processor, handling quanta management and context switching of various GPU engines," Provonost says.
In essence, this allows the GPU directly manage its own video memory, rather than have Windows dole out the task to the CPU. And according to Provonost, this is a "significant and fundamental change to the driver model."
To ensure things work as intended, Microsoft is making this an opt-in feature for the time being. If you have installed the May 2020 Update and are running the latest driver for your Radeon or GeForce GPU, you can enable it by heading to Settings > System > Display > Graphics Settings (or just type Graphics Settings in the search bar). Then just toggle the hardware accelerated GPU scheduling option to On.
Hardware Accelerated GPU Scheduling Is Just The Tip Of The Graphics Iceberg
Over time, Microsoft says this new feature should improve, helped in part by testing within the Windows Insider program. The ultimate goal is for the implementation to be smooth and transparent, with users not noticing any significant changes. But it is also not the end of the road for Microsoft's efforts to improve graphics performance in Windows.
"The goal of the first phase of hardware accelerated GPU scheduling is to modernize a fundamental pillar of the graphics subsystem and to set the stage for things to come… but that’s going to be a story for a another time," Provonost teases.
It is anyone's guess what might come next, but it makes sense that Microsoft is focusing on this area of the Windows kernel. Bear in mind that the Xbox Series X will arrive later this year. It is basically a modern PC in console digs, with custom silicon based on AMD's Zen 2 CPU and RDNA 2 graphics architectures, the latter of which adds hardware support for real-time ray tracing.
RDNA 2 will also manifest in PC graphics cards this year, as will NVIDIA's Ampere GPU architecture. And of course Intel has plans of launching its first modern discrete GPU sometime this year. As graphics hardware gets more powerful in general (discrete and integrated), it makes sense that Microsoft will find ways of having Windows more efficiently interact with GPUs, paving the way for richer experiences. We will have to wait and see what exactly that entails.