ClioSport.net

Register a free account today to become a member!
Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • When you purchase through links on our site, we may earn an affiliate commission. Read more here.

SLi & Physx combo?



Darren S

ClioSport Club Member
Right chaps,

I thought I'd ask the wise sages on here their viewpoint on my PC setup at the minute. I've got two GTX460's in SLi that are admittedly a bit long in the tooth now, but still perform admirably in most things. I also came across a Quadro FX580 earlier this week via a friend, simply to have a trial with.

When I put the Quadro in, I had the option of removing the Physx support from the usual 'Auto' - and obviously running on one of the GTX460's - to dedicating the Quadro to do that role. Like so...


Quadro_zps9cec2b1c.jpg



After a reboot, I fired up both Borderlands 2 and also Batman : AA - both games which I know have Physx detail options from their main menus. With BL2, I can honestly say I didn't see that much difference. It looked more detailed in the debris and explosions, but that was about it. However, Batman was significantly better. Previously if I had set the Physx setting to maximum, it had a massive impact on the frame-rate. Now, it's very smooth indeed..

So, the question I'm asking - is the SLi and dedicated Physx card combo a worthwhile setup? I've seen these Quadro's (and similar) go for £35-£40 on eBay and tbf, I haven't asked my m8 how much he'd want for it if he sold it. For a little more than a full-priced game, is getting a card for Physx a good buy, or merely a placebo for graphical eye-candy!?

The stuff I've read on the 'net seems really quite contradictory - and 'definitely not worth it' the further you go back with older posts. I'm guessing that not only were Quadro cards a lot more expensive 3-4 years ago, but the nVidia drivers really didn't cater for multiple gfx cards well enough either?

As usual, any feedback or other comments would be more than welcome :)

Cheers,
D.
 

SharkyUK

ClioSport Club Member
Hi mate :D

Assuming 2 or more GPUs working together in SLI...
With previous versions, PhysX itself would run on a single GPU and the rendering tasks would be allocated across all available GPU's - including the one running PhysX. The drivers would optimise this under the hood to ensure a good balance of rendering performance and PhysX computation across the GPUs, whilst also balancing resource requirements to suit.

Assuming 2 heterogeneous GPUs...
The newer version of PhysX allows two heterogeneous GPUs (non-matched) to work together to deliver rendering and PhysX computations. One GPU (most often the more powerful of the two GPUs) is allocated the task of handling rendering tasks whilst the other GPU is dedicated purely to PhysX computation.

Assuming 2 or more GPUs working together in SLI, with an additional/suitable GPU for PhysX...
Basically an extension of the above and what you have in your system. The two GTX460's sharing all the rendering load between them and the Quadro exclusively handling the PhysX computations.

So... is it a worthwhile setup? It's tough to say mate. It is actually very much dependant on the game and to what extent PhysX is being used. Or even HOW it is being used. Or where the data resides that is used to drive or seed the PhysX calculations. Mileage may vary as a result, as seen in your comparison above (i.e. not much difference in BL2 but significant improvements in Batman). Unless the developer has tasked sufficient time to produce a physics system that integrates well with PhysX then it's unlikely to gain many benefits in terms of improved performance and/or visuals. If physics effects were carefully pre-planned and designed to work efficiently within the constraints imposed by PhysX then it is likely the results will be more noticeable.

Whilst GPUs are undoubtedly getting better and more powerful they still aren't as flexible as the CPU in many ways. GPUs provide immense parallel processing power and have immense number-crunching potential, but still have limited outputs and relatively poor performance when it comes to getting data back from the hardware. GPUs are stream processors - they take in a stream of data, call a given function/program on that data (e.g. shader), output stream data to memory. They can do this on multiple streams in parallel independently (i.e. without any inter-dependencies between streams). But the problem comes when you need to take that calculated stream data and use it elsewhere other than purely keeping it on the GPU. As always, reading back from the hardware is a slow old process.

Again... is it a worthwhile setup? Debatable. Having SLI'd GPUs for rendering and a dedicated PhysX GPU won't do any harm whatsoever. If more developers start supporting it and consequently design for it (PhysX) then the benefit of having the dedicated PhysX GPU will increase.
 

Darren S

ClioSport Club Member
Thanks m8 (and wilky for the PM too) regarding this. I've spoken to my m8 and he's said I could keep the card FOC - so I guess it will be staying under the PC's hood for now. :)

I suppose I never took into context the extent to what the devs would utilise (and optimise?) the Physx function in their software. Hence, like you say m8 about the varying results I have had in just two different games. I noticed that Mirror's Edge has Physx support too, so I'll have a dabble with that too. I guess my setup (although far from from cutting edge) is more of an oddball one that a typical nVidia user having a single high-end card, or two SLi'd boards of better spec than mine. The CPU 'bottleneck' probably negates a far bit of the Quadro's benefit's too - as mine is a 1st-gen i7 running at a mild 3.2Ghz as well?

Cheers for the input guys - as usual, plenty of food for thought! :)

D.
 

SharkyUK

ClioSport Club Member
Seeing as the Quadro is a freebie you might as well hang onto it... :D

Most of the serious physics engine, and associated calculations, are still very much run on the CPU. The GPU tends to be used for particle effects, fluid dynamics and that sort of thing. Whilst the math driving the PhysX calculations can be pretty intensive and complex, they are running fairly constrained models that can pretty much reside wholly on the GPU (hence minimising the need to send/receive data over the bus). For example, it is quite possible to run a complicated particle effect on the GPU with very little input from the CPU once it has been seeded and started. The PhysX effect is effectively passed (via GPU upload) a set of shader constants (values) and encoded textures (containing particle positions, colours, velocity, etc.) Once they are on the GPU the GPU streams the data in, performs the required processing, and streams the data back out. However, the data stream is still retained wholly on the card. This newly generated output data then becomes the input for the next physics update, and so the process cycles around again. I hope that makes sense... :D
 
This has crossed my mind numerous times. Currently rolling with twin GTX580, but I've always got a spare card kicking around. Often considered using them [it] for dedicated physics, but could never be bothered with the practicalities of installing and powering it.
 

Darren S

ClioSport Club Member
Cheers Andy - great feedback as per usual - and I 'think' I followed what you were saying! :)

Royston - chuck the card in m8. This FX580 I've got simply draws it's power from the bus - no external power connections required. Also, the latest nVidia drivers for the GTX460s also provided the drivers for the Quadro card. It was literally lid-off, slot card in, reboot and then reboot again once the SLi and Physx choices were made.

D.
 


Top