04-25-2010, 02:03 PM
04-25-2010, 03:07 PM
I think one core is for the DSP and the other for the rest (CPU, GPU, etc...). Just two cores for now anyway.
04-26-2010, 12:04 AM
When implementing it is as easy as questioning it.
cmccmc
04-26-2010, 03:45 AM
(04-25-2010, 03:07 PM)kernel64 Wrote: [ -> ]I think one core is for the DSP and the other for the rest (CPU, GPU, etc...). Just two cores for now anyway.
the dsp doesn't currently have it's own thread even though the devs have considered it.
04-26-2010, 07:37 AM
(04-26-2010, 12:04 AM)naoan Wrote: [ -> ]When implementing it is as easy as questioning it.
Which should start to become the case as we continue to move down the core continuum (i.e. 1 core, 2 core, 4 core, 6 core, and on). As the number of commonly available cores increase eventually programming techniques will transition to modes that are more easily broken up across cores. Also, compilation tools should eventually start to better auto utilize cores without requiring excessive programming forethought. Unfortunately, as of today, we are far off from that situation.
As of today, utilizing many cores, outside of tasks that are easily subdivided, tends to be more painful than the benefits produced. However, as the number of cores increase (i.e. 8+ cores) the payoffs of utilizing multiple cores will start to become worth the effort. Also, if compiler assistance improves, the reduced effort required may make the the price/payout ratio better. Until then the Dolphin developers aren't seeing enough payout from revamping to a multiple core friendly architecture for it to be worthwhile.
04-26-2010, 08:16 AM
It's not just a matter of difficulty, it's also whether or not there is anything else that can be moved to a separate core. The emulated CPU is already on one thread/core and the emulated GPU is on the other thread/core, other than that there is nothing else except for LLE sound that can be split onto another core.
For this very reason, Dolphin using any more than two or three cores is simply not a reality. The most cores you might ever see Dolphin use is three and that extra core will only be useful for the slow LLE plugin, HLE sound doesn't need another core since it uses very little CPU.
For this very reason, Dolphin using any more than two or three cores is simply not a reality. The most cores you might ever see Dolphin use is three and that extra core will only be useful for the slow LLE plugin, HLE sound doesn't need another core since it uses very little CPU.
04-26-2010, 08:56 AM
(04-26-2010, 08:16 AM)Xtreme2damax Wrote: [ -> ]It's not just a matter of difficulty, it's also whether or not there is anything else that can be moved to a separate core. The emulated CPU is already on one thread/core and the emulated GPU is on the other thread/core, other than that there is nothing else except for LLE sound that can be split onto another core.just curious why isn't the gpu emulated on the gpu?
For this very reason, Dolphin using any more than two or three cores is simply not a reality. The most cores you might ever see Dolphin use is three and that extra core will only be useful for the slow LLE plugin, HLE sound doesn't need another core since it uses very little CPU.
04-26-2010, 12:31 PM
I think both the GPU and CPU split the tasks of the emulated GPU, the developers might be able to provide more information on that. I think the PC's GPU is used for hardware acceleration while the other calculations are done on the CPU on a separate thread if dual core mode is enabled. Otherwise those calculation are done on the same core as the emulated CPU if you only have a single core CPU or are running Dolphin in single core mode.
04-26-2010, 01:02 PM
core 1 of computer is emulating wii cpu via jit. Core 2 of computer is emulating what the wii gpu is supposed to be doing and converting it to something so that the computer gpu can draw it. (ogl or dx9)
04-26-2010, 02:33 PM
(04-26-2010, 08:56 AM)qlum Wrote: [ -> ]just curious why isn't the gpu emulated on the gpu?
The issue is that Dolphin needs to emulate the Wii/GC GPU. You're GPU, via plug-ins, ends up doing most of the heavy lifting, but there is some work to translate calls back and forth.