|
|
|||||||
| Home | About Us | Register | FAQ | Members List | Calendar | Mark Forums Read |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Registered User
Join Date: Jan 2008
Location: Georgia
Posts: 32
|
GPU Optimization for PCSX2
I came up with the Idea, How to make PCSX2 more dependent on GPU. Today PCSX2 is highly dependent on CPU. It has many optimizations of new technology like SSE 4.1, It really helps to speed it up. How about giving GPU more load. It is quite possible to make CUDA optimization. Today CUDA, is quite powerful, every Nvidia's GPU since 8's series supports it. This thing has lots of power, and we could use it in PCSX2. It is quite possible to make CUDA optimization for this program. I think it would be also possible to dived tasks, and give some load to both CPU and GPU. It would dramatically increase FPS in any game. So what do you think. |
|
|
|
|
#2 (permalink) | |
|
Registered User
![]() ![]() ![]() Join Date: Apr 2007
Location: Italy
Posts: 286
|
Quote:
2) Do you really think the devs did not think about that before? 3) CUDA requires extreme parallel computing. You want to use cuda for things now done by the cpu? That's not really possible in an emulator... it's already much that pcsx2 uses 2 cores, and you want to offload the cpu tasks on CUDA? I honestly think you have no idea what you're asking... |
|
|
|
|
|
#3 (permalink) |
|
B( o Y o )BS!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Location: Spain
Posts: 885
|
As Krakatos said, CUDA is a highly parallel architecture. Each task you send to CUDA must always consist of AT LEAST 32 parallel threads executing THE SAME code (generally with different input data). This means whatever you do, must be a multiple of 32, which limits a lot what you can use CUDA for. This means you could use CUDA to make a custom rendering engine (sending blocks of 8 pixels to be processed at once), but it would be mostly useless for anything else in the ps2. Even the VUs aren't parallel enough to be converted into CUDA programs. CUDA is good for physics computing, big matrices, FFTing, ... I guess it could even be usable for audio processing, at some level (it most probably has too much latency for realtime low-latency audio filters), but it's not the right architecture to be used for PS2 emulation, xcept maybe software GS rendering.
__________________
"There's only one absolute truth in our world: shït happens." - Gigaherz (whoever decided "s-h-i-t" is a obscene word needs to grow up a few years) The Book and other stories: Tears of Fantasy - An Online Book... by ME! MetaLife, Inc. (intro) SubGaea (intro) Crow Blade (intro for now) Memories - Prayer from the fallen hearts. My weblog... not like if there was too much to read on it tho. For anyone interested, there's a mirc script which converts "/me 's" into " * nickname's whatever" and adds a nice "/my" command. |
|
|
|
|
#4 (permalink) | |
|
Registered User
![]() Join Date: Nov 2004
Location: poland
Posts: 53
|
Quote:
__________________
e8400@4ghz (memory is too slow to oc more) asus commando 4gb ddr2 gf8k8gts vista64 |
|
|
|
|
|
#5 (permalink) |
|
Registered User
Join Date: Jan 2008
Location: Georgia
Posts: 32
|
Ok I understand now thank for explaining. so it means that it is impossible to combine CPU and GPU load? I heard that someone was making audio processing program on cuda... and how do you think, how fast would be software gs rendering using cuda? any ideas? |
|
|
|
|
#6 (permalink) |
|
Registered User
![]() ![]() Join Date: Nov 2007
Location: Germany
Posts: 146
|
Man, now, the only thing what limits is the Hardware-> Nobody has a PC that is strongenough to emulate the PS2 completly; even with combining GPU and CPU (like ZeroGS). In fact, why most games are now playable is that there are missing some effects (they were disabled), which would decrease the speed extremely (like Postprocessing) (and some Software stuff like buffering and resolve-updates for stable gaming) The only solution how to get all effects to work (and to work stable), is the really slow software-rendering (which depends only on CPU) and for that you'll need a much more stronger CPU than now. (for instance: 3.4Ghz DualCore is far to slow for that)
__________________
Windows Vista Ultimate x64 (SP1)|AMD Athlon 64 X2 4600+ @3.35Ghz x2 (~40% OC)|6GB Kingston Value RAM 667 @745 5-4-3-5 DualChannel (2x 1GB + 2x 2GB)|XFX 9800GTX (835/2060/1205)(~24%/22%/10% OC)|750GB(F1)+500GB(T166) Samsung SATAII 9600GT+7300GT+SLI-Bridge= 9600GT Brick Old 9600GT broke 12 hours after purchase |
|
|
|
|
#7 (permalink) | |
|
B( o Y o )BS!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Location: Spain
Posts: 885
|
Quote:
In any case, audio processing is a light task, and if properly optimized using MMX or SSE2+, it won't require more than 1-2% of a Core2-level cpu. A GS implementation using CPU+CUDA (It can't be done compeltely on CUDA because of the same reason you can't emulate a cpu on it - not everything is parallel), if done in the right way, could maybe be as fast as hardware processing. Don't quote me on this if it actually doesn't work so well, because I'm saying this on guessing, and a very limited knowledge on the CUDA architecture, so everything I said could be proven wrong.
__________________
"There's only one absolute truth in our world: shït happens." - Gigaherz (whoever decided "s-h-i-t" is a obscene word needs to grow up a few years) The Book and other stories: Tears of Fantasy - An Online Book... by ME! MetaLife, Inc. (intro) SubGaea (intro) Crow Blade (intro for now) Memories - Prayer from the fallen hearts. My weblog... not like if there was too much to read on it tho. For anyone interested, there's a mirc script which converts "/me 's" into " * nickname's whatever" and adds a nice "/my" command. |
|
|
|
|
|
#8 (permalink) | |
|
Emulation to the max!
![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jan 2004
Location: Canada
Posts: 2,491
|
Quote:
__________________
Q6600 Core 2 Quad || Soundblaster X-Fi Extreme HD || e-VGA 8800GTX || 4096mb 4-4-4-12-2T Dual-Channel RAM || MSI P6N Diamond || 2x 320GB Hardrive || 5.1 Speakers || Remote control || 8x USB 2.0 || DVD/CD ±RW Drive || 1x IEEE1394 www.coolsvilleman.homedns.org Normally down. E-mail me for a DVD @ coolsvilleman@gmail.com
|
|
|
|
|
|
#9 (permalink) |
|
B( o Y o )BS!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Location: Spain
Posts: 885
|
LOL anyone spending money on a GTX 280 when he has a celeron cpu shoudl be shot ![]() Still what I meant is something like: The VU has 2 pipelines, each pipeline will execute different instructions, each one probably working on 4 number vectors, so it would mean you'd need 2 different "threads" each one executing 4 thigns at the same time: 28 wasted threads/group, and requiring 64 to work, which is pretty much inefficient, at least.
__________________
"There's only one absolute truth in our world: shït happens." - Gigaherz (whoever decided "s-h-i-t" is a obscene word needs to grow up a few years) The Book and other stories: Tears of Fantasy - An Online Book... by ME! MetaLife, Inc. (intro) SubGaea (intro) Crow Blade (intro for now) Memories - Prayer from the fallen hearts. My weblog... not like if there was too much to read on it tho. For anyone interested, there's a mirc script which converts "/me 's" into " * nickname's whatever" and adds a nice "/my" command. |
|
|
|
|
#10 (permalink) |
|
Registered User
Join Date: Jan 2008
Location: Georgia
Posts: 32
|
hmm, so CUDA can't help to impruve PCSX2 ![]() and what about AA and AF. Can they be calculated on CUDA, while CPU will do what it is doing now? I may be asking stupid questions, because I'm not really in programming... Someone has mentioned missing effects, maybe Post Processing Could be calculated by CUDA? or we will have problem with parallel architecture? Sorry If I bothered someone... |
|
|
|
|
#11 (permalink) |
|
HardWareMan
![]() ![]() ![]() Join Date: Nov 2007
Location: Belarus, Grodno
Posts: 379
|
Enabling postprocessing isn't a problem It was disabled in some games cuz it causes huge slowdown
__________________
http://pcclub.topbb.ru/ - ôîðóì ïîñâÿùåííûé æåëåçó, ñîôòó è ýìóëÿöèè. Ó íàñ âû ìîæåòå íàéòè ñêîìïèëèðîâàííûå âåðñèè PCSX2 è ïëàãèíîâ íà îñíîâå ÏÎÑËÅÄÍÅÃÎ êîäà!
![]() <|> AMD Opteron 165 (Dual Core) Toledo E6 2.9 GHz <|> Zalman CNPS7000B-Cu <|> 1024 MB DDR PC-3200 (4 x 256 MB) 425 MHz 2.5-2-2-5-1T <|> GigaByte GA-K8NF-9 (nForce 4 - 4x) HT - 965 MHz <|> Axle GeForce 7600 GS 256 MB PCI-E GPU - 575/575/545 MHz, MEM - 770 MHz <|> Samsung HD080HJ 80 Gb, SATA 2, 8 MB Cache, 7200 RPM <|> Samsung HD321KJ 320 Gb, SATA 2, 16 MB Cache, 7200 RPM <|>Windows XP SP3 <|> |
|
|
|
|
#13 (permalink) |
|
B( o Y o )BS!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2002
Location: Spain
Posts: 885
|
AA and AF are graphics options which NEED to be done while drawing. They affect how the hardware draws the polygons, so they can't be done "later". If "calculate post processing" you mean add post-processing effects to the image AFTER it has been drawn, then yes you can use CUDA for image filtering, but you can also do it on Direct3D using shaders, so it doesn't really change much.
__________________
"There's only one absolute truth in our world: shït happens." - Gigaherz (whoever decided "s-h-i-t" is a obscene word needs to grow up a few years) The Book and other stories: Tears of Fantasy - An Online Book... by ME! MetaLife, Inc. (intro) SubGaea (intro) Crow Blade (intro for now) Memories - Prayer from the fallen hearts. My weblog... not like if there was too much to read on it tho. For anyone interested, there's a mirc script which converts "/me 's" into " * nickname's whatever" and adds a nice "/my" command. |
|
|
|
|
#14 (permalink) |
|
Just an Emu Nerd.
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jan 2006
Location: Cologne, Germany
Posts: 3,485
|
AA+AF is already possible using nHancer
__________________
My System: C2D E6700 @2.67GHz | Asus P5W DH Deluxe | 4GB DDR2 800 | GeForce 8800GT Extreme My EeePC 901 white: Intel Atom 1.6ghz | 2GB DDR2 667@533 | 4GB Main SSD | 64GB Additional SSD! | WinXP Home SP3 | 16GB Transcend SD | Logitech NX50 Laser Mouse My FFXII GSdx Highres Screenshot Gallery (link fixed!) | mixed pcsx2 screenshots If you search for pcsx2 betas, look here (but no support in the forums for it!)
Tutorial: Hardware Antialiasing in PCSX2 (DX9 only) |
|
|
|
|
#16 (permalink) | |
|
Registered User
![]() ![]() ![]() Join Date: Dec 2006
Location: ß
Posts: 351
|
Quote:
also, what everyone else said
__________________
AMD X2 5200+(65Watt)@3.2GHz | GTX280 | 4GB RAM | Vista Ultimate x64 |
|
|
|
|
|
#17 (permalink) |
|
Yeah. Uh huh. Whatever!
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Oct 2007
Location: In the poorest part of the second richest area in the entire country
Posts: 4,786
|
Google is your friend. Anyway, unless you tend to rewrite pcsx2 from the ground up to be Gpu dependant (makes no sense), then CUDA is a no go. (And I wish nVidia would change the friggin name, a Cuda is a 1970 American musclecar with 370 hp and a ferocious demeanor, not some lowly architecture )
__________________
|
|
|
|
|
#18 (permalink) |
|
Registered User
Join Date: Jan 2008
Location: Georgia
Posts: 32
|
I have latest version of nHancer, but I can't enable AA? which settings Should i use? Sorry For Off Topic Can you send me PM about this? When i change AA and AF settings they don't have any effect. when using GSDX.... don't know about ZeroGS So there is nothing that CUDA can help with... ![]() thanks for answering my questions What about ray tracing? I know it's totally depended on CPU, but maybe using this technology would be faster?... |
|
|
|
|
#19 (permalink) |
|
Plugin author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Apr 2006
Location: Perdition
Posts: 561
|
If you don't even know why that's a bad idea, you really shouldn't be trying to make suggestions to speed up PCSX2. Ray tracing is slow, and it relies on a completely different model of rendering objects (Which isn't compatible with many methods PS2 games can use to render scenes. And even in games where ray tracing could be done, you'd have to do a fair bit of work to change how the entire scene is being drawn). If you know nothing about programming or 3D rendering, and you have a suggestion on how to speed things up, it's almost certainly either a really bad idea, or devs have already considered it. |
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|