Hardware acceleration bug (?) causing GPU to underclock / get stuck to lower frequency
-
So something weird happened today. I noticed that after loading a webpage that makes use of hardware acceleration, whenever I go full screen (e.g. for a YT video, Twitch video, G-Sync UFO test), it causes my GPU frequencies to drop - from 2040 Core Clock MHz to 700 and 7001 Mem Clock to 5001). This only happens only if I go full screen on a secondary monitor, if full screen on primary monitor and then switching back to the game, there is no issue. One website that always enabled the problem to happen was the Nvidia Forums. Say I didn't open it before switching any YT / Twitch video to full screen, everything would seem fine. Opening either YT / Twitch / G-Sync UFO Test and switching back and forth without going to the Nvidia website caused no issues.
Switching the game(s) - I tried multiple - FFXIV, God of War, AC Valhalla to full screen instead of borderless windowed did not help.I tried disabling every extension I use, it does not help, using private window does not help. I have tried two different browsers - Edge and Firefox and there is no issue with them.
I have been able to consistently reproduce the issue this way:
- Open new Vivaldi window
- Go to Nvidia Forums (here for example)
- Go on Twitch and switch to full screen
- Check game on 2nd monitor - FPS drops down, as well as clocks - monitored with MSI Afterburner (or RTSS actually)
Now, after doing this, whenever I'd go to say YouTube instead of Twitch and going full screen, the issue would appear, same as with going full screen on the G-Sync UFO Test
As a solution, I found that disabling hardware acceleration seems to fix the issue.
Windows 10 21H1 Build 19043.1466
Vivaldi 5.0.2497.38 (Stable channel) (64-bit)
RTX 3070 using latest drivers 511.23
R5 5600x -
@ryanair Hello and Welcome to the Vivaldi Community
Figured I might try to repro this on my system, as I have Afterburner and play games. I don't use Twitch though... When I play a game I play a game, I have no need to watch someone else also play a game
I have two Asus monitors that both support G-Sync (but of course only active on primary), running GTX970 on Win10 x64. When I tested with the HW monitor running both a game (Black Mesa) and Twitch on the 2nd monitor, Core clock went up from the standard 899 to ~1330 and stayed there, as expected.
I also had a hard time understanding your steps...
Do you run the game (fullscreen/borderless) on the primary or secondary screen?
Vivaldi runs on the secondary screen or primary?
Why do you say go to NVidia forum first and then Twitch - is this in the same tab?
Then you mention YouTube and that confuses stuff even more.
Make a detailed list of steps that can be followed from A to B.It's probably an issue specific to your system and drivers, or a complex combination of factors. Probably G-Sync plays a role here, it can only run on your primary monitor, so if you play a game on the secondary it won't be active there. While running the browser full-screen on the primary will have G-Sync enabled, unless you disable HW (like you've tested).
-
Hey!
First, let me answer your questions.
- I run the game borderless on the primary screen. I tried running it full screen and borderless too on both displays. It does not seem to matter which one is it, all that matters is the game running on either.
- Vivaldi runs on the secondary display
- No, I open a new tab, so NVidia forum and Twitch are two separate tabs running on the same secondary screen. I have not tried going back and forth on the same tab, but yesterday, even after closing it, the issue was still there, I had to restart the browser to make the issue go away.
- I added YouTube as another example of using something to go full screen (instead of going to Twitch, going to YouTube and going full screen on a video the issue would present itself too - yesterday, but not today....weird)
I'll try to be more specific with the steps.
- Make sure HW acceleration is enabled in Vivaldi
- Open a game on the primary monitor - I used AC Valhalla. Running full screen or borderless does not seem to affect this. I used borderless to make switching back and forth between windows easier
- Open a new Vivaldi window on the secondary display
- Open Twitch and go full screen - everything should be fine at this point (you can probably skip this step)
- On the same Vivaldi window on the secondary display, open a new tab with the Nvidia forum
- Switch back to Twitch tab and go full screen
- Go back to your primary monitor with the game
- Check clocks
I made a video on this. I m sorry for the frame rate and stutters, for me everything was fine, it's just the video - colors seem off to, but that's beside the point. Video here - used pastebin to the actual download link otherwise post would be flagged as spam
Doing this I also noticed that while using the Nvidia NVENC encoder the issue went away. I recorded this using Software x264 encoding
It's probably a random issue that will go away on its own after an update of nvidia drivers or browser, just as it was fine a few days ago
-
@ryanair Hi, thanks for the detailed explanation and the video, definitely made the issue much clearer to understand
I wasn't able to reproduce it though, but there are just so many different factors at play here, like GPU, driver version, other hardware etc etc. And I don't even have updated NVidia drivers, I update like every 3 months or so, can't be bothered being a tester for NVidia bugs
Really weird issue, and it wasn't like small dips in either, core clock goes down by a lot more than half and a huge drop in memory clock. You might be right, might be some temporary glitch that gets fixed in the next driver release, or next Vivaldi release.
Vivaldi is kind of different from other browsers like Edge and Chrome, the Vivaldi UI is a "layer" on top of the native Chromium interface, that might be an issue too. But no idea how it could explain what you're seeing. I would maybe try to get some info on the NVidia forums with the GPU "gurus" there.
Also, a question because I'm curious: How do you get the data on-screen in the game? I'm assuming that info is from Afterburner? Some kind of plugin? I'm not very familiar with Afterburner and rarely use it, but it looks cool to have that info in-game
-
Yeah, I won't bother trying to fix it w/ hw acceleration on, I can just open a MS Edge window with the stream whenever the issue occurs until it gets fixed. I'll try reporting it on the Nvidia forums too.
As for the overlay, yes, it is from Afterburner (or RTSS I think - I think it is enabled by default but you can choose not to install RTSS when installing Afterburner).
Go to Afterburner settings -> Monitoring tab and under Graph you'll see a bunch of monitoring options, put the checkmark on whatever it is you want Afterburner to monitor and farther below check "Show in On-Screen Display".
I have mine set up to monitor in OSD: GPU Temp, Usage, Core Clock, Memory Clock, CPU Temp, CPU Usage, CPU Clock, Framerate and Frametime.
On the next tab, On-Screen Display you can assign hotkeys to toggle it on or off. I have Toggle On-Screen Display bound to Shift+F12 (I don't remember if it is the default setting or not). In RivaTuner Statistics Server (opens automatically with Afterburner) you can choose where on the screen you want to have it shown, bottom right, just drag the FPS counter displaying 60 wherever you want.
This may interfere with other overlays, if you use them, such as Discord in-game overlay. I think you'd have to open the game, then Discord, wait for the overlay to load and then load MSI Afterburner. In my case, if I launch the game with Afterburner active, Discord in-game overlay fails to load.
-
@ryanair Thanks for the explanation
Yeah I guess I've never installed the RTSS component. I don't really run Afterburner that much, just for checking basic stuff really.
But at least I now know how to do it (if I can remember the next time in a couple of years or so)
Maybe if one day I upgrade my GPU, they're just too bloody expensive at the moment...