a question for the developers and coders
#1
so i was wondering whether performance of the emulation was bottlenecked by the sheer number of cpu cycles required, or by the amount of processing each cycle could do? and if it's bottlenecked by the amount of work each cpu cycle can do, then could the gpu core be used for emulation of the ee/iop and vu0/vu1? especially considering that gpu's are designed to process multiple threads simultaneously complex processes to run at full speed
Reply

Sponsored links

#2
Quick intervention right here: Random buzzword features *are not the fix to speed issues*. This is a question that pops up regularly for years now and due to varying reasons the feature in question is always unfit to do the task.
Reply
#3
(05-23-2014, 05:41 PM)sgt_McMuffin Wrote: especially considering that gpu's are designed to process multiple threads simultaneously complex processes to run at full speed

Multithreading possibilities are actually something that one could even use with modern cpu's in a more extent way than it is now. But further multithreading of pcsx2 is not possible due to the lack of independent threads that were handled. Thread communication and timing of components would make everything worse.

Also one should mention that most games can be either played at full speed or not at all with modern pc's/cpu's. Trying to enhance support for old celeron or netbooks probably doesn't make sense.

A last thought: Many users prefer to upscale the gs output and apply some filters or shaders or whatever. In the end this can be quite demanding for the gpu as well. Putting more load to the gpu would probably cause additional problems in that case.

I don't know if one could ut the gs software renderer to the gpu... but the result is maybe already the hardware renderer (?)
Reply
#4
to futher clarify i was reffering to the possibility of having the gpu running the ee/iop and or the vector unit emulations if their throttling factor was the instructions that could be executed per cycle by the host cpu and not the pure number of cycles per second the cpu is capable of.
Reply
#5
As noted, pcsx2 already uses quite a few threads, the gpu is many times already a bottleneck without giving it even more tasks, and it's already not needed on most modern systems because they already run most games in much more than full speed, and those which run slow are due to inefficient emulation rather than missing cpu cycles.

Unless you wanna give it a go for fun, it's most most probably just not worth the complexity and potential bugs. But no one stops you from trying to add it yourself.
Reply
#6
GPU's are no good for emulation. Compute/CUDA based stuff is reliant on repetative calculations, the ee/vu's are most certainly not repetative. Although hardware-wise, the VU's are closer to GPU design than anything else, it would be considerably slower than running on a CPU.
[Image: ref-sig-anim.gif]

Reply
#7
@avih it's part fun and part neccessity i have a gtx 650 ti 2gb and an old pentium d 940, so as pretty as my favorite ps2 games are scaled to 1680x1050 i could live with playing them at native resolution if it meant that i could get them running faster than 25-40 fps.
Reply
#8
@refraction hmm what about the EE interpreter mode, would that be any faster using gpu processing than the recompiler mode?
Reply
#9
Interpreters, by design are never quicker. But the only thing you can run on GPU's is shader programs, so you wouldn't have a choice in what to do.
[Image: ref-sig-anim.gif]

Reply
#10
(05-23-2014, 08:46 PM)sgt_McMuffin Wrote: @avih it's part fun and part neccessity i have a gtx 650 ti 2gb and an old pentium d 940, so as pretty as my favorite ps2 games are scaled to 1680x1050 i could live with playing them at native resolution if it meant that i could get them running faster than 25-40 fps.

So far it looks like most devs here don't find it fun or necessary. But if you could find one... Smile
Reply




Users browsing this thread: 1 Guest(s)