..:: PCSX2 Forums ::..

Full Version: Will PCSX2 ever use 4 cores and vulkan?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I'm currently shopping for a new computer and I was wondering if PCSX2 will ever be able to utilize 4 cores. Are there any plans for this and vulkan in the future? I'm just wondering since I expect my next computer to last me for atleast the next 4-5 years and it would be awesome if that was in the works.
4 cores? Maybe, but I don't know how much it'll help. Most of the work done by your CPU is emulating the vector units, emotion engine, and GS(I don't know how taxing this is for the CPU, so I'm assuming). Those already run on separate cores, or can run on separate cores and you can't really split them any further without losing performance. I guess there are other components that might be able to be split off into other threads(IOP, DMA controller, SPU, etc), but I don't think any of those are heavy enough to make a very big difference.

Vulkan is kind of the same. It might help a handful of games run faster, but I don't think it'll do much for the majority. So, again, it's a lot of work, for what seems to be not much gain.
Vulkan API will give AMD GPU a great performance boost over Nvidia if comparing with PCSX2 OpenGL mode.

All AMD GPU users experience slowest in OpenGL due to the fact it doesn't support OpenGL multi-threading like Nvidia GPU did.

Adding Vulkan to pcsx2 than AMD or Nvidia will have same set of API and therefore near same performance. Only problem who can code Vulkan for pcsx2 .... Practically no one
(04-20-2016, 07:34 AM)tabnk Wrote: [ -> ]Vulkan API will give AMD GPU a great performance boost over Nvidia if comparing with PCSX2 OpenGL mode.

True. I think there might be some ways to improve performance for AMD before a whole new API is required though.
(04-20-2016, 10:31 AM)dogen Wrote: [ -> ]True. I think there might be some ways to improve performance for AMD before a whole new API is required though.

Hope so but doesn't look possible. PCSX2 was slow on both Nvidia and AMD before OpengGL multi-threading. OpengGL multi-threading only enabled with Nvidia Driver and AMD disabled it.
Some facts
* Vulkan isn't MT aware. Thread management will need to be done in GSdx.
* Dx support MT too (otherwise, I don't understand how DX could be as fast as openGL)
* GS emulation uses already several cores (due to point 2)
* you still need to run OS/GUI and minor stuff. So PCSX2 already uses 4 cores.
* Point 1 => you don't need Vulkan to have openGL MT support. But Vulkan require to have openGL MT support first Wink

Quote: Adding Vulkan to pcsx2 than AMD or Nvidia will have same set of API and therefore near same performance. Only problem who can code Vulkan for pcsx2 .... Practically no one
OpenGL api is the same for both AMD/Nvidia. However they move all the driver work to the application. So all the work that AMD didn't do to provide fast openGL driver must be done by the poor guy that will do the port to Vulkan. It also means that all Nvidia optimization must be redone by the still poor guy too. So good move for AMD, bad move for everyone else (nvidia, dev, all users as code will be optimized for a couple of card)
(04-20-2016, 02:20 PM)gregory Wrote: [ -> ]Some facts
* Vulkan isn't MT aware. Thread management will need to be done in GSdx.
* Dx support MT too (otherwise, I don't understand how DX could be as fast as openGL)
* GS emulation uses already several cores (due to point 2)
* you still need to run OS/GUI and minor stuff. So PCSX2 already uses 4 cores.
* Point 1 => you don't need Vulkan to have openGL MT support. But Vulkan require to have openGL MT support first Wink

OpenGL api is the same for both AMD/Nvidia. However they move all the driver work to the application. So all the work that AMD didn't do to provide fast openGL driver must be done by the poor guy that will do the port to Vulkan. It also means that all Nvidia optimization must be redone by the still poor guy too. So good move for AMD, bad move for everyone else (nvidia, dev, all users as code will be optimized for a couple of card)

If so than moving to Vulkan will be even harder. 

No wonder this slide said Vulkan threading friendly but didn't wrote thread AWARE. https://developer.nvidia.com/sites/defau...eading.pdf

Any plan to port blending accurate, date, hardware depth to DirectX 11 ?
Let's say the multithread layer is above vulkan layer. So yes Vulkan is MT friendly, you just need to do everything your self (synchro/mutex/atomic...). So vulkan isn't aware if the app uses or don't use MT.

Quote: Any plan to port blending accurate, date, hardware depth to DirectX 11 ?
Why? Likely less work to put an extra thread layer in GSdx. It is just a shame to duplicate the work done by the "good" driver.

BA can't be done. I'm not sure for DATE. And future version of hardware depth might not be supported.
(04-20-2016, 04:43 PM)gregory Wrote: [ -> ]Let's say the multithread layer is above vulkan layer. So yes Vulkan is MT friendly, you just need to do everything your self (synchro/mutex/atomic...). So vulkan isn't aware if the app uses or don't use MT.

Why? Likely less work to put an extra thread layer in GSdx. It is just a shame to duplicate the work done by the "good" driver.

BA can't be done. I'm not sure for DATE. And future version of hardware depth might not be supported.

BA is visually nice and make lot games look even more realistic. Too bad only in OpenGL mode which only in Nvidia GPU. AMD OpenGL to slow even it technically supported.
Yeah I know the impact of BA. But it will be better to improve the driver. Or to add the MT layer in GSdx. It ought to be done one day for vulkan/dx12 anyway.

Edit: that being said. BA is slow because it requires lots of draw call. Future hardware (at least latest Maxwell dunno for AMD) could do it in a single draw.
Pages: 1 2