Dolphin, the GameCube and Wii emulator - Forums

Full Version: Tatsunoko and ubershaders, worst than not using them?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
(09-12-2017, 12:05 PM)Techie Android Wrote: [ -> ]Okay... Let me put this a different way. I was not having any of said issues before so how would I notice if it has improved?

If you didn't notice any stuttering without ubers, hooray! You don't have any reason to use ubers then. I'm surprised you don't though. Maybe you just play games that don't generate many shaders.


Quote:You should know I'm not a fan of simple answers.


You should work on that.
(09-12-2017, 12:27 PM)Helios Wrote: [ -> ]You should work on that.

Well, in the past my dealings with you have been rather, how should I put this, you seem to be condescending, as though your talking to a child. I just want you to be aware that I'm a human being too. So basically what I'm trying to say is it's not nice to be disrespectful. Which is what I gather from your reply most of the time.

I apologize if I'm the one that is the problem, maybe I'm not understanding your demeanor.
I know for a fact since I've tested it on the latest version with a stable environment, that Ubershaders stutters very badly on my PC (this isn't a bottleneck on my computer). I'll just chalk it up to it not being stable at the moment.
You probably have something misconfigured on your system.
(09-12-2017, 02:30 PM)Helios Wrote: [ -> ]You probably have something misconfigured on your system.

Haha. No. It's a fresh install, I highly doubt it.
(09-12-2017, 02:30 PM)Helios Wrote: [ -> ]You probably have something misconfigured on your system.

I assume the global-locking "bug" in NVidia's opengl driver also exists in their linux version - so I guess a "linux superuser" would be hitting that?
(09-12-2017, 03:09 PM)JonnyH Wrote: [ -> ]I assume the global-locking "bug" in NVidia's opengl driver also exists in their linux version - so I guess a "linux superuser" would be hitting that?

Um. What? Clarify a little more please.

I normally have 0 problems with my graphics card driver in Linux, the exception being Dolphin, all other graphically intensive programs / games run properly.

I'll prove it to you doubters out there. I'm going to screen record so that you see how Dolphin is acting. The video will be up tomorrow.
(09-12-2017, 03:26 PM)Techie Android Wrote: [ -> ]Um. What? Clarify a little more please.

I normally have 0 problems with my graphics card driver in Linux, the exception being Dolphin, all other graphically intensive programs / games run properly.

I'll prove it to you doubters out there. I'm going to screen record so that you see how Dolphin is acting. The video will be up tomorrow.

There seems to be an issue in the binary NVidia OpenGL drivers (likely more "Implementation Detail" than "Bug" as such) that cause a global lock to be held (or similar) that seems to block rendering in one thread while another is compiling shaders. It's quite likely few other apps hit this issue, as most games know ahead of time when they expect shaders to be required, and can compile what is necessary at game start or similar, which isn't possible with the emulation of a fixed-function pipeline like Dolphin is, as it doesn't know the exact combination of options until a draw is actually scheduled. Just because it's fast doing $THING_A, doesn't always mean it's fast doing $THING_B.

Which is the whole point of 'hybrid' mode, so makes the whole thing kinda useless. Which is why people are recommending people use DirectX on windows with NVidia - as that avoids this specific issue. Of course on linux you don't have that options, assuming that the same issue exists there (which is likely, as I believe they share most of the code between the OSs).

I do not know if vulkan has the same issue.
(09-12-2017, 03:40 PM)JonnyH Wrote: [ -> ]There seems to be an issue in the binary NVidia OpenGL drivers (likely more "Implementation Detail" than "Bug" as such) that cause a global lock to be held (or similar) that seems to block rendering in one thread while another is compiling shaders. It's quite likely few other apps hit this issue, as most games know ahead of time when they expect shaders to be required, and can compile what is necessary at game start or similar, which isn't possible with the emulation of a fixed-function pipeline like Dolphin is, as it doesn't know the exact combination of options until a draw is actually scheduled. Just because it's fast doing $THING_A, doesn't always mean it's fast doing $THING_B.

Which is the whole point of 'hybrid' mode, so makes the whole thing kinda useless. Which is why people are recommending people use DirectX on windows with NVidia - as that avoids this specific issue. Of course on linux you don't have that options, assuming that the same issue exists there (which is likely, as I believe they share most of the code between the OSs).

I do not know if vulkan has the same issue.

This is how it's not a driver bug:

1. I run other systems/emulators on my PC, not just Dolphin, and they never have stuttering (and I'm fairly certain they don't use AOT).

2. When I run a game max on detail with all hacks turned off the game runs butter smooth and isn't even a challenge for my computer.
However with ubershaders on and set to hybrid I get horrible stuttering and frame drops.
Now put those in perspective and ubershaders is the only thing that has changed here, meaning either ubershaders has been implemented incorrectly, it's unstable or the option to enable it has some underlying problem.

I don't see how y'all expect me to take your simple answers seriously when I can't even get you to believe a fact explained in detail.
Because it's not a fact, it's you misunderstanding what's going on. ?

You're seeing this behaviour because the correctly implemented ubershaders are triggering an annoying detail in Nvidia's driver implementation to rear its head. Because nothing else, even other emulators (except maybe other GameCube and Wii emulators, but since when has Gecko done anything?), uses OpenGL in the exact same way, this driver implementation detail doesn't have a perceptible negative effect on anything else. That doesn't mean anyone's done anything wrong, just that certain groups did things that other groups couldn't predict.
Pages: 1 2 3 4 5