Hi, I really love the emu and a big thanks for making it! My system has two 1080Ti in SLI and one 980Ti dedicated for PhysX, and I was wandering if there is any plan to add support for Vulkan 1.1 explicit multi-GPU? Furthermore, Vulkan multi-GPU foregoes any need of SLI or Crossfire and is completely vendor agnostic and could even split work across NVIDIA dGPUs and Intel iGPU.
I do understand that the largest portion of emulation burden is on the CPU but, things like 8K and other planned option like MSAA could benefit so, it would be great to have this as a very long term plan since it will certainly be a very large undertaking to had support for such a feature and have it work on nearly a infinite combination of hardware.
Once again thanks a lot for RPCS3!
(06-17-2019, 06:43 AM)Sephiroth_FF Wrote: [ -> ]Hi, I really love the emu and a big thanks for making it! My system has two 1080Ti in SLI and one 980Ti dedicated for PhysX, and I was wandering if there is any plan to add support for Vulkan 1.1 explicit multi-GPU? Furthermore, Vulkan multi-GPU foregoes any need of SLI or Crossfire and is completely vendor agnostic and could even split work across NVIDIA dGPUs and Intel iGPU.
I do understand that the largest portion of emulation burden is on the CPU but, things like 8K and other planned option like MSAA could benefit so, it would be great to have this as a very long term plan since it will certainly be a very large undertaking to had support for such a feature and have it work on nearly a infinite combination of hardware.
Once again thanks a lot for RPCS3!
There is a good reason for the poor support of multi-GPU in gaming, rasterization does not split work nicely across multiple GPU engines. Its a lot more effort than it's worth in regular games, let alone emulators where you don't know what a game is doing until it actually does it. In a regular game, you are in control of what passes happen, their timing, synchronization, etc, but in emulators, we're just drawing. We have no idea if what we just sent to the GPU is an FXAA pass, luminance pass, color grading pass, normal rendering, etc, etc. This makes it nigh impossible to plan any workload scheduling at such a high level. Which jobs to offload to GPU1? Which jobs to keep on GPU0? Only the game developers would know this information and it would definately differ greatly from game to game making it impossible to do at a global level.
As of now, RPCS3 has decent GPU utilization, even at high res (some games are playable at 10k resolution for example), so I think this is not going to be an issue for a long time.