Nvidia recently added support for the recently added GPU scheduling feature in Windows 10, which moves scheduling from the main system to the GPU itself. This is supposed to improve performance, and in gaming I noted that it did in some cases. However, I wanted to benchmark a few more games plus some 3DMark synthetic tests, since other publications have been testing this feature and have been finding somewhat different results.
Test Methodology
Just like last time, I tested on the G14, which as an RTX 2060 Max Q. I am considering testing the GTX 1080Ti on my test bench in the future to see if Pascal benefits any more or less than Turing based RTX GPUs, however.
Specifications | Part Name |
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
- Forza Horizon 4
- Gears of War 5
- Metro Exodus
- Total War Three Kingdoms
Additionally, I also ran 3DMark’s Time Spy and Fire Strike benchmarks, but I will only be showing the results of the physics test, even though that uses the CPU, not the GPU (more on that later).
Concerning the testing environment: the laptop was updated on June 24 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.
Benchmarks
3DMark Fire Strike Physics Test
You might be wondering why I am including a CPU benchmark in a GPU test. Well, to my surprise, the performance difference was noticeable depending on whether or not the GPU scheduler was enabled. Performance in this benchmark slightly decreases if it is enabled for some reason.
3DMark Time Spy Physics Test
This difference is also notable in Time Spy, even though it is a totally different test based on the newer DX12 API.
Civilization VI: Gathering Storm
Forza Horizon 4
Gears of War 5
There is actually a substantial decrease in performance if you enable GPU scheduling in Gears 5. This was repeatable and consistent in my testing.
Grand Theft Auto V
Hitman 2
Metro Exodus
Total War Three Kingdoms
The Witcher 3
Of the additional 4 titles I tested, none resulted in a performance boost and one saw a real performance loss with GPU scheduling enabled. Whether or not GPU scheduling affects performance, positive or negatively, is definitely API agnostic.
GPU Scheduling Works, But Isn’t a Silver Bullet
I was hoping that all the other publications got it wrong somehow and I would find out that there are many more titles that benefit from the new GPU scheduling feature. However, that isn’t the case. GPU scheduling, as cool as it sounds, is not a free performance gain. Thankfully, I happen to play quite a bit of Hitman 2 and I enjoy the Witcher 3, so I will be keeping this feature on, but fans of Gears of War 5 will obviously want to keep this setting off.
AMD has yet to add support for this feature in their own drivers, so perhaps the story will be different for Radeon users. But, until then, it seems like GPU scheduling is not a huge deal (so far). It should be noted that the driver that enables Nvidia GPUs to use GPU scheduling is also the first to support DX12 Ultimate, which may prove to be more substantial on its own or able to utilize GPU scheduling better. But that will have to wait for when DX12 Ultimate games actually release.