Virtual Forum - October 13 | REGISTER NOW
'Significant and fundamental' Windows tweak sets the stage for GPU innovation
- 02 July, 2020 14:10
Now, Microsoft has revealed what that setting does, and it turns out that the innocuous-sounding, opt-in feature actually represents a fundamental redesign in how the Windows Display Driver Model works. You probably won’t see any significant performance changes from activating it now, however.
Historically, the GPU scheduler for the Windows Display Driver Model (WDDM) relied on “a high-priority thread running on the CPU that coordinates, prioritises, and schedules the work submitted by various applications,” explains Steve Pronovost, the lead and architect for the Windows Graphics Kernel.
That introduces inherent latency, however, as the CPU registers user inputs a frame before the GPU renders it.
The new hardware-accelerated GPU scheduling feature hands most GPU scheduling tasks to a dedicated GPU-based scheduling processor instead, letting your graphics card manage its own memory, though “Windows continues to control prioritisation and decide which applications have priority among contexts.”
“The new GPU scheduler is a significant and fundamental change to the driver model,” Pronovost says. “Changing the scheduler is akin to rebuilding the foundation of a house while still living in it. To ensure a smooth transition we are introducing the new scheduler as an early-adopter, opt-in feature.”
You’ll need four things to activate hardware-accelerated GPU scheduling. First, you’ll need a relatively recent GPU that includes the hardware required to manage task scheduling. You’ll also need drivers released by your graphics card’s maker that support WDDM version 2.7.
The Nvidia and AMD drivers linked above enable the feature, though Radeon support is limited to Radeon RX 5600- and 5700-series GPUs.
On the Windows front, you’ll need the Windows 10 May 2020 Update, also known as version 2004. It’s currently being rolled out, but slowly to ensure hardware compatibility, so if you don’t see it after making sure Windows is fully up to date (Start > Settings > Update & Security > Windows Update) you may have to wait for it to become available for your PC.
Once all those pieces are in place, you can activate hardware-accelerated GPU scheduling by heading to Start > Settings > System > Display > Graphics Settings and flipping on the feature. It’ll only appear if you meet all the other requirements.
Don’t expect this “fundamental change” to fundamentally change the performance of your visual applications or games right now, however.
“Users should not notice any significant changes,” Provonost says. “Although the new scheduler reduces the overhead of GPU scheduling, most applications have been designed to hide scheduling costs through buffering.”
That holds true in testing conducted by Tom’s Hardware, which benchmarked several games on Nvidia’s new driver with hardware-accelerated GPU scheduling enabled and called the difference “mostly much ado about nothing.”
Some games lost a few frames with the feature enabled, and some gained a few frames, but it was essentially a wash across the board when it came to gaming performance.
Nvidia’s release notes specifically called out video playback and said “hardware scheduling works regardless of the API (DirectX, Vulkan, OpenGL) so a wide variety of applications and games can see a benefit from this new feature, including Movies & TV app, Netflix, and games.” More resource-constrained PCs could perhaps see additional uplift from the new feature, but that’s just speculation.
AMD’s driver notes strike to the heart of the matter though, stating that “this feature has the potential… to allow additional innovation in GPU workload management in the future.” Hardware-accelerated GPU scheduling is about building a foundation.
“The goal of the first phase of hardware accelerated GPU scheduling is to modernise 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 another time,” Pronovost says at the end of Microsoft’s overview post. Be sure to check it out if you want even more technical details.