Today, Nvidia pushed out a driver update that enabled Windows 10’s GPU scheduling feature, which is supposed to improve gaming performance on the side of the GPU. However, the last time Windows 10 added such a feature, it didn’t really amount to much at all; Windows Game Mode didn’t really do much for gamers as far as I can remember. Though, this time might be different, since GPU scheduling (that is, letting the GPU itself schedule its own tasks, like how the CPU does) is a technology both Nvidia and AMD have been promising to deliver and has some plausible reasoning behind it. Now that Nvidia finally has supported this feature, I’ve decided to test it in a few titles.
I ended up testing the Zephryus G14 with its 2060 Max Q. I do have a 1080Ti, but I thought that only Turing based 16 and 20 series GPUs supported the feature; I later discovered the Pascal based 10 series does as well.
|CPU||Ryzen 9 4900HS|
|Graphics||Vega 8 (integrated), RTX 2060 Max Q (discrete)|
|RAM||16 GB 3200 MHz|
|Storage||1 TB Intel 660p NVME|
|Display||1080p, 120 Hz|
I used the turbo performance mode for all my benchmarking, which means the CPU and GPU were clocking as high as possible.
To benchmark the new GPU scheduling feature, I benchmarked the following titles:
- Hitman 2
- The Witcher 3
- Civilization VI: Gathering Storm
- Grand Theft Auto V
This is obviously not a very comprehensive test, but if GPU scheduling is a useful feature, then surely its benefits can be seen on a wide variety of titles, even older ones. Maybe in the future I’ll do a test of 14 or so more games.
Concerning the testing environment: the laptop was updated on June 24 (that’s today) and was not updated during the benchmarking period (this means all driver, OS, software, etc updates), all background applications were closed prior to testing, and the laptop was setup in the same way a normal person would use it, with the lid open fully so that airflow can reach the internals easier. Unlike my G14 review, I am now currently using ASUS’s stock AMD drivers, but this should have no bearing on performance since I am testing the discrete Nvidia GPU.
I test using actual gameplay as often as possible. I only use built in benchmarks if it accurately reflects in game performance. I will note when I have used a built in benchmark; if I do not specify assume I have used actual gameplay to measure performance. Though testing performance in game is realistic, it is also prone to being quite variable or even inconsistent even within the same session. To offset this, I run each game at least 3 times and then take the median result. I do not take the mean/average result because that does not reflect actual, collected data. This is okay for synthetic and rendering benchmarks, but for games it is not ideal.
I used OCAT to record frametimes which I converted into framerates. There were some background applications while running benchmarks: task manager, file explorer, and game launchers (though only one is ever open at a time). On the subject of frametimes, we use the 99th percentile (provided by OCAT) instead of 1% lows for our minimum FPS calculation. The 99th percentile measures the lowest possible value for a framerate to be considered within the top 99% of framerates, where as a 1% low averages the bottom 1% framerates. Calculating using 1% lows is a major mistake because this range of data is often highly inconsistent and unnoticed in gameplay. One random lag spike would factor into the 1% low, for example, but not into the 99th percentile.
Civilization VI: Gathering Storm
Grand Theft Auto V
The Witcher 3
To my surprise, the GPU scheduling feature actually resulted in some tangible performance increases. For the average FPS, Hitman 2 and the Witcher 3 increased by 8 and 7% respectively, and in 99th percentile Hitman 2 and the Witcher 3 increased by 6 and 13% respectively. GPU scheduling actually fixed the usually poor 99th percentile performance the Witcher 3 has.
Unfortunately, Civilization VI and GTA V didn’t really seem to benefit from GPU scheduling. So, it would appear that not all titles are going to see performance increases. However, it is evident that this is not an API limitation which we often see with DX11; the Witcher 3 is also a DX11 title, just like GTA V, but it does see an improvement with GPU scheduling on. But, by the same token, DX12 titles aren’t guaranteed an improvement to performance, and Civilization VI is a good example of that.
GPU Scheduling Actually Works
This is probably not a shocking conclusion, but allowing the GPU scheduler to do what it wants, instead of relying on the CPU side of the system, can result in a decent amount of extra performance. If you own a Turing based 16 or 20 series or Pascal based 10 series Nvidia GPU, we recommend turning on GPU scheduling. It likely won’t improve performance in every title you play, but it didn’t hurt performance in our tests and it definitely improved performance by a fair bit in some titles. If you own an AMD GPU, on the other hand, you might wanna let AMD know that they should get this feature out the door as soon as possible.