I have recently re-installed my computer and got everything up and running more reliably than before, but I’m getting worse performance in my games.
I have an AMD Ryzen 5600g cpu with integrated graphics, and a dedicated Nvidia RTX 3070, but when i run glxinfo | grep -e OpenGL.vendor -e OpenGL.renderer, it outputs this:
from this I’m guessing my programs are running on integrated graphics instead of my 3070, and the application settings “use discrete GPU” don’t seem to improve my performance at all so…
Is there a good way to tell which GPU is being used by games or other running programs, and how can i change the default to my 3070?
upon further inspection, in the NVIDIA Settings program, there was a PRIME profile option which i switched to performance mode, i restarted my PC which made the prime tab go away entirely but the command mentioned in my first post now returns
That odd. The integrated graphics should only output to the onboard hdmi/dp, and the discrete card by its own connectors. If you do not have a monitor plugged into the onboard connector, then the IG should be inactive. If your IG is not being used I recommend turning it off in the bios on your motherboard. It sounds to me like the system is trying to do a pass through from one graphics processor to the other… which you really do not want as it can indeed effect performance from 5 to 10% on a 3070 class.
I did end up disabling it in the bios, and the screens were also already plugged directly into the 3070,
However on windows i utilised both the iGPU and dGPU seperately,
To screenshare or record my gameplay without losing my framerate for instance.
I am getting very annoying microstutter in some games now, where it says its running at 144fps but it doesnt feel smooth at all.
A week ago it ran better than it does now but i had to reinstall my pc since then and i have no idea whats wrong in my current installation to make it perform worse
I have already installed the proprietary driver, steam would not even run without the proprietary driver installed, and also it would be quite weird if i had the NVIDIA X server settings app without having the Nvidia drivers installed lol.
I have metapackage nvidia-driver-550 installed trough software sources.
I don’t think I purged nouveau (unless installing nvidia driver got rid of it by itself), but I’m unsure whether its even safe to do so.
Maybe I should mention that the graphics API visual indicator from the NVIDIA settings says “BLIT” in big red text, which i would guess means its being rendered to some other surface and then gets blitted to the correct place?
i get results from the AMD one as well but i actually want to use both my dGPU and iGPU seperately so this is fine.
from some testing, i have noticed that turning all the settings way down in my games did not increase my framerate what-so-ever, and blender actually runs better than it did on windows, so i feel like it might be some weird mismatched v-sync problem.
in games running vulkan my FPS will never go over 144 but will generally hover between 122 and 136 despite my CPU and GPU both barely being utilized at all.
i will go test what happens if i change my refresh rate to something lower and report on it later.
even stranger, in Deep Rock Galactic, turning the resolution scale way down to a quarter resolution actually made my FPS worse, so the problem could also be something image-scaling related.
I am assuming your monitor refresh is 144hz? If so, and you are capped at that framerate, in the nvidia control panel, in the opengl settings, turn off “sync to v-blank”, and set it to high performance mode.
If you reinstalled steam and all your games along with the OS, the issue might be which proton version your game is using. Your older version of Steam may have been setup differently. Doing a search online for many games will often tell you which version of proton works best with it.
The fact that you are getting no change when you turn the settings down, suggests you are CPU bound. Badly. It makes me wonder if the cpu scheduler is set wrong. Try this in a term and see if it changes anything:
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
(edit- on the off chance… is the bios on your motherboard completely up to date?)
Oh, and one other thing, in the NV control panel (in X11), check which display it is using to sync with in the Xserver Xvideo settings under “screen 0”.
this CPU isn’t even that weak, and also its not even being utilised fully when this problem occurs.
the most important game to me, being Deep Rock Galactic seems to work fine better now as opposed to yesterday, idk what’s different.
the command returns performance, and my bios is probably not up to date since i haven’t really touched it since first setting up this computer about 4 years ago.
this is set correctly, tho one of my games wont go over 60fps since yesterday, but it ran at 144 just fine a couple days prior, this is all so weird and confusing…
even with v-sync disabled (at least i assume because there are visible screen tares, which is weird because my monitor is set to 144hz in the display settings) it still wont go over 60, but rarely it goes to 63 which briefly speeds it up and then hangs for just a bit too long, giving a bad viewing experience.
bruh i thought i sent this yesterday but i guess i didnt, very thankful this website saves drafts
You definitely sound like you have a bottleneck. Again, I would check the settings and the proton versions in Steam to see if the game clears up.
The echo command I had you do actually sets the scheduler to performance mode. It is something you can run when you need to. It wont persist between boots, and does not have as much effect on some CPU types as others. Sometimes laptops or other devices may get set to power saving mode, which can reduce performance.
I made a new discovery, and that is I can move the “focus” around by simply placing the Nvidia Control Panel on one screen or the other. This happens when the app is set to “Borderless Windowed”. You can see the screenshot below shows the FFXIV benchmark running on the wrong screen.
I can move it back and forth (upon launch) simply by moving the control panel… not even actually doing anything with it, just moving it. The benchmark app is launched from the main screen, and its own launcher opens on the main screen, the pointer and desktop focus is on the main screen, but as soon as the benchamark is run, if the cp is on the other screen, it moves over there.
The black in the sceenshot represents my entire virtual desktop with the main display oriented normally, and my right display rotated to portrait (it actually extends from top to bottom of the black). The NVCP is open behind the benchmark window. If I move the NVCP to the main screen and relaunch the benchmark, it moves over to the main screen. When the NVCP is closed, it defaults to the main screen. It also defaults to the main screen when the benchmark is set to exclusive full screen.
I have come to realize that the apps that are most problematic are those that are set to boarderless window. The problem is, I do not know what triggers the “focus” change with the others, other than perhaps me not realizing that it was due to NVCP seeming to steal focus when its not actually focused (I set fans and clocks manually a lot of the time so NVCP is something I regularly use).