GPU always at 100% despite fps cap

  • Author
  • Message
Offline
Posts: 4
Joined: 05 Apr 2020, 18:45
Location: Germany, Bavaria

GPU always at 100% despite fps cap

Hoi,

created this account to address an issue i haven't encountered yet under any other circumstance, and the last two days on google only revealed people with the opposite problem: too low fps.

Started a fresh modded SSE installation, for sure with enb (0.415 with rudy), and it runs very smooth and good looking. But ...

No matter what method of capping the fps is applied, the fps will show the desired 60 though, but the GPU is still hurting itself by constantly running at PWR/Voltage Cap, as if it's rendering far more (max possible) frames internally as much as it can and selecting 60 of them per second for the monitor .
This behaviour is true for all the methods below seperatly:
NV frame limiter V3 (either for skse64_loader or SkyrimSE)
skyrim.ini bLockFrameRate
enblocal.ini EnableFPSLimit=true
Setting VSync On/Off for each of them, active/deactive GSync, has no effect fps wise.

For compatibility reasons RivaTuner, Afterburner, GeforceExperience are already inactive. NV Driver settings disabled every graphics influencing setting, PWR Management Mode tried all three, currently Adaptive.

As Capping fps through NV frame limiter V3 works for every other application so far as intended (lowering the stress on the GPU or holding it @ 92 für the 95Hz GSync) i suspect an issue with enb here. But maybe i am just missing something obvious.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17444
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: GPU always at 100% despite fps cap

Mod can't consume performance in between of frames, because it's single threaded and executed in own game thread, such things technically impossible. But i have some ideas, let's try to discover what the heck is going on.
First of all, dual gpu videocards or sli/crossfire system can have similar problems if they transfer data between each other every frame and for sure they do, so if it's your case, forget it.
Videodriver have parallel execution of several frames and present them with delay (3 by default), so when having some heavy effect active, delay can be long enough and still cost performance. But in this case some resources still must be lower. Easy to check if in control panel force max prerendered frames to minimal value possible (don't remember 0 or 1) and see how gpu usage change if apply fps limit. Or you can set fps limiter to something really low in enblocal.ini, let's say 30fps (and vsync disabled), then see if gpu usage reduced. Most likely below certain fps limit gpu usage will decrease, which would mean it's past frames processed.
Measures are not correct by any reason, reading data in wrong moment or reseted somehow, maybe driver dependent. To be less precise but more objective, should force gpu and vram frequencies to constant value and then in same place check gpu temperature difference between fps limiter enabled and disabled.
Some other application, like web browser or any overlay software can consume gpu, but most likely no if this happen only with enbseries running (unless it's conflict, which usually occurs if some application hooks in to graphics, still chance to influence gpu usage is very low).
GPU overheating occurs and driver reduce performance, which "automatically" looks like bigger gpu usage. Or adaptive power method when driver give rest time, but this also make numbers of gpu usage bigger. Such things should be tested with forced frequencies, better even little bit downclocked to avoid throttling.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 4
Joined: 05 Apr 2020, 18:45
Location: Germany, Bavaria

Re: GPU always at 100% despite fps cap

Yeah i already had most of the ideas you mentioned like:
even lower fps cap, disabling overlays and closing all remaining non skyrim programs.

The single GPU is still working it's ass off and following the frequency curve as if it's running a benchmark, temps are somewhat fine with peak 68, it's watercooled, but the constant 310W will heat up the system eventually, even more with summer approaching. And it simply feels wrong having it run and max speed when it just doesn't need to. Imaging your 8/16 Core CPU running at 5GHz on all Cores while playing.

The fixed GPU Clock idea seems tempting and by theory would be an okayish solution for indoor and caves. But in the landscape i definitly need full Rendering Power to maintain 60fps. Will still have a look at it tomorrow after work if changes occur.

The whole purpose of a fully working 60fps cap, like in all other slow paced ultra graphics games, is to ensure constant framerates in every situation without a system thats acting like it's on TimeSpyExtrem and FurMark simultaneously.

Oh right about the "it may look like it's at full power, but it's just running at high percentages on lower clocks": Afterburner and Sensors from GPU-Z or HWiNFO64 are showing alltogether full CPU CLock ~2050GHz, full VRAM Clock 7900Mhz and running at 120% TDP Power all the time. Instead of cycling between frequencies as load on GPU changes like in any other game/application.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17444
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: GPU always at 100% despite fps cap

I dont know how gpu usage is measured, is it certain moment of time or per frame average, most likely first one cause frames are abstract thing for games which do not exist in gpu and also cpu usage also single moment parameter. So it could be just too long previous frames still rendered and i wrote in previous message how to find this out. You can turn off all effects and mod will have small enough gpu usage to see if things went back to normal, which again sign of many frames rendered. You should do changes to "max prerendered frames" in nvidia control panel, it's the simplest way to check real framerate unparallelized. And honestly, monitoring software and information like gpu usage is absolutely useless for end user, not any different to watching cpu usage when running the game, you can't do anything about it. Games are very complicated and unbalanced mostly cause of difference between hardware and game code itself, some people come here and complain why gpu usage become lower after installing the mod, others why it's higher. Both sides think it's something wrong with enbseries.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
User avatar
*blah-blah-blah maniac*
Posts: 836
Joined: 10 Dec 2017, 17:10

Re: GPU always at 100% despite fps cap

mfg_immo you are not the only one. I have come to conclusion that modded Skyrim with ENB is one of the most demanding game.
(of course it depends on the mods and your screen resolution too)

I have a pretty powerful system (1080Ti Zotac Amp Extreme - factory overclocked, 32 GB RAM, i7 7700K), but to counteract the overheating when playing Skyrim, I use RivaTuner to lower the framerate to 40 fps.
It's a bit low, but on some places in game it goes even lower. Only interiors are ok. I monitor my system usage from a separate display, using Aida64 and only sometimes, in the interiors, the GPU usage lowers below maximum when playing Skyrim. Temps are around 72 C.

And my CPU usage is also very high most of the time. (temps are around 62-68 C) Watercooled, PC case opened during gaming.


So yeah - Skyrim is the program for cooking omlet on your PC

Anyway - I'm waiting for the nvidia 3080Ti to come out, so I could play Skyrim smoothly, without burning my house down.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17444
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: GPU always at 100% despite fps cap

Oh c'mon, why to spread bad ideas? Computer case must be closed for proper cooling as long as you have it done right. People absolutely have no idea what the hell they are doing, put many fans instead of learn physics in the school better. I have just one silent cooler on the back of the case and it works pretty fine. Sometime i need to open case to copy data from other hard drives (having too many, all not fit to one case), then temperature of hdds, videocard and cpu increase by 5-10 degrees and i try to do this as quick as possible. If this not happen to you, then should organize air flow correctly, closing all needless holes to stop air sucked in wrong places and just make it come from outside where cooling is required, like near videocard opened slot, near hdds. Back fan should blow air outside of case.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 4
Joined: 05 Apr 2020, 18:45
Location: Germany, Bavaria

Re: GPU always at 100% despite fps cap

Yes, yes, pre-rendered frames have been 1 (nv minimum) all the time. And I'm not complaining at all. Thing is just that for my understanding end uses an altered way of rendering the game through a seperate executable. For the unmodded Skyrim with the original *.exe the capping of fps works like in every other game so far. So it's just narrowing down on enb, might not be it at all.
That fps capping seems to be no uncomplicated thing. Generally recommended to use the engines mechanism first -> riva tuners -> old nvidia cap to reduce input lag to a bare minimum of 1 frame. But with a lot of games not having the ability to cap fps other than using vsync. the new nv v3 capping alongside their gsync is the way to go. So my original thought was that's the root of the issue, that external factors alter the behaviour of enb in a negative way. So the first way was to deactivate everything of that kind like it's recommended even on enb dokumentation:

Problems
Some third party software not supported, you must unload such tools. The problem is in their method of brute hooking of d3d. Ati tray tools, D3D Overider, EVGA, MSI Afterburn, XFire, Mumba - are not compatible.

And even after that i tried different cap lvls combined with vsync/gsync/off but to no working result.

Without any fps limiting like cap or vsync, fps rages up to 2000 in game menu (which generates a freaking high pitch sound from the gpu), 400-500 in houses looking at the floor and about 90 so far walking to whiterun. It HAS to be capped at some way.
The PWR measurement of the gpu is likely taking place in the "Phasenwandler" those grey blocky hot things besides the gpu and can be read out by a multitute of tools. This IS useful alongside monitoring temperature and PerfCapReason to identify unwanted behaviour.
I guess your assuming the reading is wrong, but there's no doubt it isn't. My (maybe final) conclusion would be that the mechanism to downclock the gpu according to the usage does not work for some yet undiscovered reason.

I had just the idea to ask here if anybody encountered a similar behaviour after all i tried did not work. I mean, the game works just fine with enb and as you already know is maybe the biggest contribution to a beautiful world of Skyrim (and other games).

btw Anubis: ENBSeries is right with the Airflowmodel of a chimney, usually sucking in fresh air from the front or bottom of the case, flwoing around components and taking their heat with it and finally blown out on top (through a 480 radiator with 6 temperature regulated dead silent fans). Even completly watercooled system want it that way for all the components not touched by water (GPU Backplate, southbridge, VRAM, M2 disc, etc...)

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17444
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: GPU always at 100% despite fps cap

Did you try set greater max prerendered frames (as you said having 1)? Maybe this thing + heavy effects of the mod + the way when gpu usage measured give this result? I doubt other software can have very big impact, they do hook functions, but it is cpu side, so cpu usage may be influenced (especially if they use thread sync functions). Unless they capture data from video memory. Chatting applications should consume more gpu, they are not guarantee to render text and hud optimized way. Such things need investigation with custom profiling tools, but anyway i have no idea how to change something from my side. Long time ago for gta4 version i did some optimizations which increase gpu usage, that made many gf8800 fried, that's also not my fault, but vendor. Regarding wrong reading of gpu usage, i meant it maybe captured in certain moment of time as statistic, not average. I dont know how it works exactly, that's why measuring power or temperature is better. Nobody knows except vendor engineers how usage is computed even in certain moment of time, which execution blocks controlled as busy and how, is that by power consumption? There are so many transistors of gpu, it's not possible to control all of them and to measure wattage is incorrect also, it's like cpu usage differ from power consumption depending from what kind of code executed. Techincally it's possible to try skip frames or their presenting and see what changed about gpu usage, but again it's just for curiosity purposes. If you want higher performance, set bigger prerendered frames count or decrease quality of effects mod using. Both should influence gpu usage.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 4
Joined: 05 Apr 2020, 18:45
Location: Germany, Bavaria

Re: GPU always at 100% despite fps cap

Just went through different setting again. changing from fullscreen to borderless windowed: no success. application controlled prerender frames, threaded optimisation on: no success.

BUT: disabled enb fps cap/vsync, set nv v3 fps cap 60 and for god knows what reason, the gpu downclocked.
For some reason i have heavy screen tearing despite gsync on, was afraid turning vsync on would break the cap again, but now fps are capped at 60, gpu is adapting and no tearing.

I dont trust this peace until next restart, but for now it's ok. can't put my finger on what solved it exactly but still seems to be something related to the method of fps capping and maybe gsync/vsync.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17444
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: GPU always at 100% despite fps cap

My mod use fps limiting in very rude way by spinning on cpu, because cheap methods i tried to use before for some users didn't work and gave wrong fps values. I failed to understand why this happen (such things difficult to detect if not have on my own rig), so just did precise way. But this is still cpu usage of one cure, not gpu.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
Post Reply