gonetz / GLideN64

A new generation, open-source graphics plugin for N64 emulators.
Other
754 stars 174 forks source link

Lag caused by gpu throttling down. #2754

Open sappergr opened 1 year ago

sappergr commented 1 year ago

Noticed this while playing demanding games like Mario Tennis or Turok, I would get random lag (slowdown) turns out my NVIDIA gpu is throttling down as if it is not running a graphically demanding app.

I've no clue what is causing this and it only happens with gliden64. Setting the gpu mode to Maximum Performance fixes the issue but increases power consumption considerably, this is only a workaround.

gonetz commented 1 year ago

As I know, graphics performance preference can be set only per application. GLideN64 is not an application, it is a plugin for an application. If anybody knows how it can be solved on plugin's level, please let me know.

Xii-Nyth commented 1 year ago

yeah this sometimes happens with nvidia cards, especially with my new 3080ti. oddly enough my fps limit I use to correct an ancient version of 1964's speed sync seems to correct the issue.

with vsync as well it sometimes locks to half frame rate, and toggling off and on my post processing shaders to change the load suddenly causes it to "wake up".

its really soemthing that has to be exclsuively changed on nividia end. I've had similar problems in older games like csgo and minecraft especially on laptops

LuismaSP89 commented 12 months ago

So, the issue is Nvidia? I have a RTX 4070 and I have a LOT of lag & stutterings. I really don't understand why with this strong GPU (Also with 13600KF & 32 GB of DDR5 RAM) there are this kind of slowdowns. It's not happening in other emulators. Seems a gliden64 plugin problem because with Jabo everything works fine.

Xii-Nyth commented 6 months ago

while it might only happen with glide, its not really a problem with glide but moreso nvidias bad opengl drivers or possible a pstate issue.

In nvidia control panel make sure to set prefer max performance and I personally find that turning vsync on in the control combined with ultra low latency mode to get rid of queued frames, and then limiting your fps to 59.97 with an asynchronus limiter from rivatuner yields the most consistent frametimes.

(tested in 1964 gepd playing perfect dark and monitored with reshade)

Xii-Nyth commented 6 months ago

as gonetz mentioned before though, glide is just the plugin, so how the emulator interacts with this plugin may vary per emulator

LuismaSP89 commented 6 months ago

In my case I found the root cause, the problem was the project64 version, I reported that here:

https://github.com/project64/project64/issues/2375

Squall-Leonhart commented 6 months ago

not related to this issue.

newer gpu's are just so powrful now that they don't hit the 45% util target that nvidia hard codes to reach higher p-states, there is a tool that can mitigate the actual problem which is that vram interface can hit 100% util without the gpu util getting near the point of promotion.