Hey there (again),
I’ve done some extensive testing in the past few days regarding the GPU temperature bug that’s been happening only in this game.
Previously described here:
post: https://us.forums.blizzard.com/en/d2r/t/gpu-temperature-bug-with-details/12360
sshot: https://i.imgur.com/1gAuZxlh.jpg
Now, I’ve come to the conclusion that this issue might indeed be related to the Warden/Anticheat systems employed by Blizzard.
Facts:
1.) Warden triggers at irregular intervals (such as 5 to 30 min), coinciding with the bug happening.
2.) Warden employs dynamic code (code that is crafted at Blizzard, sent over to your client and then run in your local application context).
3.) One of the anticheat techniques it leverages is (seemingly) an API hooking clear of the function imports of D3D that D2R itself uses.
It does that in an effort to curb D3D graphics capturing automation mechanisms (i.e. bots scanning the graphics buffers for specific pixels to know where to go).
By doing so it risks to break things (because you’re meddling with low-level APIs) such as D2R’s render pipeline and GPU utilities like RTSS
(by clearing the API hooks those utilities cease to function since they’re reliant on that).
Furthermore, every OS has different D3D libraries that have different addresses to hook APIs (Windows 10 2004 introduced DX 12 Ultimate, 1903 e.g. does not),
thus making this API hooking a non-trivial and dangerous process.
Due to a bug in Blizzard’s implementation of this said Anticheat method something goes hay wire and the “bug” triggers causing the excessive heat issues we’ve all been facing.
It’s also only partially responsible for the high GPU temperatures.
The other half is caused by the engine being unoptimized (“these graphics cause this?”) and causing high loads in general (even more so when running FPS uncapped).
Want to test this yourself?
Block D2R.exe from going online (wf.msc → outgoing connections → block d2r.exe) or disable your internet connection.
You’ll only see the generally unoptimized engine GPU usage, but no more this SUDDEN surge in GPU clockrates, temperatures and fanspeeds.
i.e. you will no longer see this: https://i.imgur.com/1gAuZxlh.jpg
Instead, after hours of letting it run, rather this: https://i.imgur.com/zOzFFx6h.jpg
Now… what can we do?
Frankly speaking, nothing except for playing offline.
It wouldn’t be that bad if they at least left the TCP/IP option in, this would still allow us to play with our friends etc.
But they removed it… so we’re all at Blizzard’s mercy here.
One last thing:
I could also be wrong about Warden’s bugged API hooking and it’s Blizzard’s battle.net implementation (social features) that’s causing this.
(i.e. the display of friends in the chat window).
At least for me I’m now able to enjoy the game in REAL OFFLINE mode without having to fear my GPU melt down even if it means I have to play by myself.
Cheers