• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 31 32 33 34 35 ... 116 Next »

Removing shader generation stutter using modern APIs
View New Posts | View Today's Posts

Pages (3): 1 2 3 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Removing shader generation stutter using modern APIs
10-10-2015, 02:02 PM
#1
phly95 Offline
Member
***
Posts: 72
Threads: 18
Joined: Apr 2013
I know there are a lot of threads saying that performance would improve with Vulkan and DX12, but this is a very specific, but enormous issue that may be solved with these modern APIs. Many games suffer stuttering, some more than others (I'm looking mainly at Metroid Prime) and this is because it has to create a shader for use of PC APIs. I heard that DX12 and Vulkan however are more close to the metal in terms of programming. So does this mean that it might be possible to completely avoid shaders and perform more accurately towards how a Gamecube renders graphics while boosting performance.

I understand that the overall performance benefit of Vulkan/DX12 will likely be Minimal for low-end GPUs, but higher accuracy in Dolphin seems to generally give boosts, and this, while not improving people's experiences much on slow PCs, will greatly enhance those with high-end PC as stuttering is the largest problem in Dolphin to date, and that affects every PC, no matter how powerful.

Before dismissing this as another DX12/Vulkan thread, I think this specific issue does not get enough attention. Please read it before commenting.
MOBO/case: Dell XPS Desktop
OS: Windows 10 Pro, 64-Bit
CPU: Intel i7-920 Bloomfield (1st Generation)
GPU: AMD HD 7850
RAM: 6 GB DDR3
Find
Reply
10-10-2015, 04:00 PM (This post was last modified: 10-10-2015, 04:00 PM by mbc07.)
#2
mbc07 Offline
Wiki Caretaker
*******
Content Creators (Moderators)
Posts: 3,562
Threads: 47
Joined: Dec 2010
I don't have enough knowledge in the GPU emulation stuff but I think it's veeeeeeery unlikely we can just skip using shaders, even with DX12/Vulkan...
Avell A70 MOB: Core i7-11800H, GeForce RTX 3060, 16 GB DDR4-3200, Windows 11 (Insider Preview)
ASRock Z97M OC Formula: Pentium G3258, GeForce GT 440, 16 GB DDR3-1600, Windows 10 (22H2)
Find
Reply
10-10-2015, 04:10 PM
#3
Helios Offline
Stellaaaaaaa
**********
Developers (Some Administrators and Super Moderators)
Posts: 4,397
Threads: 15
Joined: May 2012
Shaders are still a thing with those APIs.
Find
Reply
10-11-2015, 04:32 AM
#4
DatKid20 Offline
UDK/Cryengine3/Unity tinkererer
****
Posts: 516
Threads: 26
Joined: Jul 2013
(10-10-2015, 04:10 PM)helios747 Wrote: Shaders are still a thing with those APIs.

Yup. The only thing about Vulkan that changed with shaders is that it can use HLSL or GLSL through SPIR-V
Find
Reply
10-11-2015, 07:25 AM
#5
phly95 Offline
Member
***
Posts: 72
Threads: 18
Joined: Apr 2013
I know it still has shaders, but are they required? Or is all this about closer-to-metal programming just BS and it's just a gimmicky phrase they use. If so, it would be nice if someone actually made an API that bypasses shaders altogether on PC and allow full metal performance.
MOBO/case: Dell XPS Desktop
OS: Windows 10 Pro, 64-Bit
CPU: Intel i7-920 Bloomfield (1st Generation)
GPU: AMD HD 7850
RAM: 6 GB DDR3
Find
Reply
10-11-2015, 07:32 AM
#6
DatKid20 Offline
UDK/Cryengine3/Unity tinkererer
****
Posts: 516
Threads: 26
Joined: Jul 2013
It's not BS. Even Low Level APIs need Shaders. The PS4 and Xbox One use Shaders as well.
Find
Reply
10-11-2015, 07:41 AM (This post was last modified: 10-11-2015, 09:00 AM by phly95.)
#7
phly95 Offline
Member
***
Posts: 72
Threads: 18
Joined: Apr 2013
Is it possible to do what they did with Gallium3D (Native DirectX 10-11 port for Linux) with it's own direct API to render like a GameCube. It would only work on Linux though, but it would be interesting to boot into something like DolphinOS for best performance. Here is an article about Gallium3D http://www.phoronix.com/scan.php?page=article&item=mesa_gallium3d_d3d11&num=1

So essentially instead of converting GCN shaders to another API (which can take time and cause stuttering), you could port the GCN API to run directly on PC hardware. I am aware this is no easy task, but it seems like it may be necessary to get a complete performance boost in dolphin. If the tools do not exist, sometimes we must build our own. I don't have any skill in this area, but I would be willing to donate $20 to see this done.
MOBO/case: Dell XPS Desktop
OS: Windows 10 Pro, 64-Bit
CPU: Intel i7-920 Bloomfield (1st Generation)
GPU: AMD HD 7850
RAM: 6 GB DDR3
Find
Reply
10-11-2015, 09:00 AM (This post was last modified: 10-11-2015, 09:00 AM by delroth.)
#8
delroth Offline
Making the world a better place through reverse engineered DSP firmwares
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,354
Threads: 63
Joined: Aug 2011
[Image: dfg003.jpg]
Pierre "delroth" Bourdon - @delroth_ - Blog

<@neobrain> that looks sophisticated enough to not be a totally dumb thing to do
Website Find
Reply
10-11-2015, 02:06 PM
#9
phly95 Offline
Member
***
Posts: 72
Threads: 18
Joined: Apr 2013
*delroth grabs popcorn
MOBO/case: Dell XPS Desktop
OS: Windows 10 Pro, 64-Bit
CPU: Intel i7-920 Bloomfield (1st Generation)
GPU: AMD HD 7850
RAM: 6 GB DDR3
Find
Reply
10-11-2015, 02:10 PM
#10
mbc07 Offline
Wiki Caretaker
*******
Content Creators (Moderators)
Posts: 3,562
Threads: 47
Joined: Dec 2010
(10-11-2015, 07:41 AM)phly95 Wrote: So essentially instead of converting GCN shaders to another API (which can take time and cause stuttering), you could port the GCN API to run directly on PC hardware.

That's the point. GC/Wii doesn't use any kind of shaders, there's no conversion. But to emulate its effects on PC we must use them, from our FAQ:
Quote:The GPU is not using shaders: every graphics effect and every computation done by the game is executed directly by the hardware without an intermediate programming language. This does not match how a PC GPU works at all. Dolphin uses shaders on the PC GPU to translate what the GC GPU can do directly in hardware, causing it to run a lot slower.
Avell A70 MOB: Core i7-11800H, GeForce RTX 3060, 16 GB DDR4-3200, Windows 11 (Insider Preview)
ASRock Z97M OC Formula: Pentium G3258, GeForce GT 440, 16 GB DDR3-1600, Windows 10 (22H2)
Find
Reply
« Next Oldest | Next Newest »
Pages (3): 1 2 3 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode