By now, most of you have heard of the Hardware-Accelerated GPU Scheduling feature that Microsoft introduced in Windows 10. According to Microsoft, this feature will potentially improve GPU performance.
Here we will discuss how Hardware-Accelerated GPU Scheduling works and how Microsoft might be using this feature to bring PC gaming closer console gaming performance and with the potential to take it a step further by fully utilizing high-speed SSDs.
Hardware-Accelerated GPU Scheduling
This is a new feature introduced with Windows 10 version 2004 and is supported by both Nvidia and AMD GPUs through driver updates. However, only Pascal and Turing based Nvidia GPU and AMD’s 5600 and 5700 series GPUs support this feature.
To enable it, users first need to install NVIDIA Driver version 451.48 and AMD Driver version 20.5.1 Beta. Then go to Settings > System > Display > Graphics Settings. Hardware-Accelerated GPU Scheduling us turned off by default. Toggle it on and restart your system for the change to take effect.
While Nvidia and AMD have noted that enabling this feature will potentially improve GPU performance but, Microsoft has made no such claim. Numerous benchmarks have shown that enabling this feature makes little to no difference in gaming performance. However, in some cases, gaming performance degraded with it enabled.
That’s a discussion for another time. We are here to discuss what this feature can do and how Microsoft might be using this feature to bring PC gaming performance closer to console gaming performance and even take it beyond consoles.
Usually, the Windows Display Driver Model (WDDM) GPU scheduler is responsible for coordinating managing GPU tasks. This is kind of a middle man that depends on a high-priority CPU thread to coordinate, prioritize, and schedule work submitted by various applications.
What Hardware-Accelerated GPU Scheduling does is that it frees the GPU from the WDDM GPU scheduler. Instead of relying on it and the high-priority CPU thread, the entire workload is handed over to a “dedicated GPU-based scheduling processor”.
This eliminates the GPUs dependency over the CPU and has the potential to not only improve GPU performance but provide headroom to the CPU itself. However, Microsoft has noted that users won’t notice any improvements, at the time of writing, as the feature is still being worked on.
What I think is that Microsoft might be using Hardware-Accelerated GPU Scheduling to change how PC games are rendered. Before I dive into that, let’s take a look at Xbox Series X specs and how it intends to utilize the SSD.
- CPU: 8x Zen 2 Cores at 3.8GHz (3.6GHz with SMT) 7nm
- GPU: 12 TFLOPs, 52 CUs at 1.825GHz, Custom RDNA 2
- Memory: 16GB GDDR6
- Storage: 1TB custom NVMe SSD
- Optical drive: 4K UHD Blu-ray
- 120 FPS support
- Potential 8K resolutions
- Ray-tracing technology
- Variable Rate Shading for more stable frame rates
With the announcement of next-gen consoles, both Microsoft and Sony have bragged about how SSDs will eliminate loading times and will change how games are designed.
That is because both consoles use SSDs in the most efficient way. For Xbox Series X, the SSD not only improves loading time but it also intends to use it for game suspension feature. This feature allows users to suspend up to 5 video games at a time and then resume them within seconds.
SSDs are fast and these consoles are making full use of them. The GPU in next-gen consoles has almost direct access to storage which allows them to load games and even store game data on the SSD and retrieve it without any delay.
PCs, on the other hand, are limited by their architecture. A PC is not only a machine capable of playing video games, but it’s also capable of performing other tasks.
Currently, PC GPUs are dependent on CPUs. When we launch games on our PC, it loads up game assets into the RAM. The CPU decides which data to fetch from the RAM and which data will be sent to the GPU for rendering.
A PC uses various levels of storage to move data around. The basic version is that RAM exists to bridge the speed-gap between the CPU and the HDD. HDD is too slow for a CPU and RAM loads the relevant data from the HDD and provide it to the CPU to execute.
With high-speed SSDs in the market and next-gen console utilizing them to their full advantage, this method of executing programs might keep PC gaming behind in terms of performance.
This is where I think Microsoft’s Hardware-Accelerated GPU Scheduling will bridge the performance gap. As I mentioned above, this feature eliminated the GPU dependency on the CPU and offloads the workload to a “dedicated GPU-based scheduling processor”.
I think Microsoft is working towards a method here the GPU has direct or less-limited access to storage. The GPU will load the game assets directly from the storage, ideally, it would be an SSD.
I am not saying that this will change the entire PC architecture. Believe me, changing it is far more difficult and there are a lot of factors to factor in. This feature will only affect the programs that really on GPU like video games.
With next-gen console just a few months away, it’ll be a matter of time before developers start developing games that utilize console architecture. Multi-platform games will be affected if the consoles games are directly using the SSD and PC games are bound to CPU and RAM.
If this feature isn’t for multi-platform games, then surely it is for Microsft’s first-party titles that will launch on PC along with Xbox Series X. Hardware-Accelerated GPU Scheduling will bridge the performance gap by which I mean PCs won’t be held back compared to next-gen consoles.
Even Microsoft has described this feature as “akin to rebuilding the foundation of a house while still living in it”.
Clearly, Microsoft has the foresight to see the first-party and multi-platform development issues that will be created if GPUs keep on relying on RAM and CPU while console games running on a slightly different architecture.
This will reduce the time to port video games to PC if Hardware-Accelerated GPU Scheduling is capable of doing what I think it is. We’ve already seen that having different architectures on the console can result in bad PC ports with Xbox 360 and PlayStation 3 console generation.
This is what I think Microsoft is doing with this feature to improve PC gaming performance. What do you think? Did I miss any important facts or factors? Let me know in the comments.