| Computers and Tech Technical support, hardware and general geek stuff. |
|
Nvidia owners getting free physics via GPU driver update soon |
|
08-07-2008, 08:25 PM
|
#1 (permalink)
|
|
Professional Crastinator
Join Date: Sep 2007
Location: Austin, Texas
Posts: 1,289
|
Nvidia owners getting free physics via GPU driver update soon
http://techreport.com/articles.x/15261/1
Crazy stuff. Now I'll be able to play GRAW again! haha
Still, this is a very very cool bonus for us Nvidia owners.
|
|
|
08-07-2008, 09:52 PM
|
#2 (permalink)
|
|
Professional Smartass
Join Date: Sep 2007
Location: Canada
Posts: 583
|
Interestingly, NVidia has been quietly helping AMD port PhysX to ATI cards too. Personally I'm surprised it has taken as long as it has. One downside is that the PhysX kernels will be timesliced with normal rendering tasks, so physx could potentially cost you framerate (depending on where your system's bottleneck is).
I think NVidia may have made a mistake in their architecture... they're using a HAL to run PhysX on whatever hardware is available (either the original Ageia accelerator, or spare CPU cores, or a GPU). A major cost in this is it requires shuttling data back and forth across the PCI Express bus which in practical terms runs between 1-1.5GB/s, as opposed to the 60-120GB/s internal bandwidth of the GPU.
PhysX is primarily used to drive advanced geometry for the graphics engine - I don't know of any game that substantially incorporates PhysX into the actual gameplay physics - so dumping that data off the card is really pointless. A lot of that data could be piped directly into vertex buffers. And with DirectX 10 it becomes even more bizarre, since DX10 is offloads geometry onto the GPU too. So you dump the PhysX geometry off the card over the slow bus, then back ONTO the card for geometry processing and rendering... Hopefully they'll release an update to the PhysX API which removes this bottleneck. But if that's the case, why bother with the expense of implementing a HAL?
Bizarre. But hey, what do I know...
|
|
|
 |
08-07-2008, 10:42 PM
|
#3 (permalink)
|
|
Porn Power!
Join Date: Jan 2008
Location: in the butt
Age: 27
Posts: 426
|
my head just exploded reading that post
__________________
Quote:
Originally Posted by CitizenSnips
Snail is like a Medic's wet dream.
|
|
|
|
08-07-2008, 11:18 PM
|
#4 (permalink)
|
|
Well Focused
Join Date: Oct 2007
Location: Sioux Falls, SD
Age: 35
Posts: 183
|
Quote:
Originally Posted by jepzilla
Interestingly, NVidia has been quietly helping AMD port PhysX to ATI cards too. Personally I'm surprised it has taken as long as it has. One downside is that the PhysX kernels will be timesliced with normal rendering tasks, so physx could potentially cost you framerate (depending on where your system's bottleneck is).
I think NVidia may have made a mistake in their architecture... they're using a HAL to run PhysX on whatever hardware is available (either the original Ageia accelerator, or spare CPU cores, or a GPU). A major cost in this is it requires shuttling data back and forth across the PCI Express bus which in practical terms runs between 1-1.5GB/s, as opposed to the 60-120GB/s internal bandwidth of the GPU.
PhysX is primarily used to drive advanced geometry for the graphics engine - I don't know of any game that substantially incorporates PhysX into the actual gameplay physics - so dumping that data off the card is really pointless. A lot of that data could be piped directly into vertex buffers. And with DirectX 10 it becomes even more bizarre, since DX10 is offloads geometry onto the GPU too. So you dump the PhysX geometry off the card over the slow bus, then back ONTO the card for geometry processing and rendering... Hopefully they'll release an update to the PhysX API which removes this bottleneck. But if that's the case, why bother with the expense of implementing a HAL?
Bizarre. But hey, what do I know...
|
But you can't affect any of the primitives directly on the GPU any way so you would ultimately have to dump of the physics results back to the CPU regardless for primitive setup, etc...
Maybe there is some sort of obscure way to use it in certain circumstances via a geometry shader, but I can't imagine that would be nice performance.
With CUDA (which is what the GPU physics is encoded in) you can store what you would like in the vertex buffers (i.e. cache) but I don't I'm pretty sure you can not be running in CUDA and graphics mode at the same time, not to mention that if you tried to store physics and graphics in the vertex buffer I think you would have some serious issues.
Or, I could be talking out of my ass. However, if you get into it Beyond3D with a few of the developers there and a few of the driver writers there, they can probably get into it much better.
|
|
|
 |
08-08-2008, 12:32 AM
|
#5 (permalink)
|
|
Professional Smartass
Join Date: Sep 2007
Location: Canada
Posts: 583
|
Quote:
Originally Posted by jaymind
But you can't affect any of the primitives directly on the GPU any way so you would ultimately have to dump of the physics results back to the CPU regardless for primitive setup, etc...
Maybe there is some sort of obscure way to use it in certain circumstances via a geometry shader, but I can't imagine that would be nice performance.
With CUDA (which is what the GPU physics is encoded in) you can store what you would like in the vertex buffers (i.e. cache) but I don't I'm pretty sure you can not be running in CUDA and graphics mode at the same time, not to mention that if you tried to store physics and graphics in the vertex buffer I think you would have some serious issues.
Or, I could be talking out of my ass. However, if you get into it Beyond3D with a few of the developers there and a few of the driver writers there, they can probably get into it much better.
|
But my point is game engines don't really need to touch the geometry generated by the physics engine directly, since AFAIK PhysX isn't being used for accelerating game physics. The geometry generated by PhysX is just used to provide more eyecandy (prettier explosions and environmental effects and stuff).
As for running CUDA and DirectX/OpenGL at the same time, it depends what you mean. Current hardware is non-concurrent, even kernels you dispatch in independent streams are serialized. However you can use CUDA while you have a graphics context constructed- you alternate between drawing frames and doing physics updates. Vertex buffers and textures can be mapped onto GPU memory allocated with CUDA.
Certainly there may be some data from the physics engine that needs to be copied back to the CPU. If you're going to let PhysX manage the 'light' stuff too (stuff that impacts gameplay, like object collisions) then all that will need to be copied back to the CPU every frame. But the 'heavy' stuff, like the big particle systems, cloth models, etc... are basically just eyecandy. That's data that could be dumped directly into the renderer's geometry shaders, bypassing the CPU. But with their current architecture you have to funnel all that back and forth across the bus, unnecessarily.
I could be misunderstanding PhysX though
Personal opinion, not opinion of employer, etc...
|
|
|
 |
08-08-2008, 02:54 PM
|
#6 (permalink)
|
|
Can't distract me
Join Date: Sep 2007
Location: Orlando, FL
Posts: 849
|
This is good news. Color me excited for the future of more physicalized game worlds! I imagine everyone who bought one of those Aegia cards is sitting around going... "Welp".
__________________
Secretary of Keepin it Real
|
|
|
08-08-2008, 04:34 PM
|
#7 (permalink)
|
|
Frickin Laser Focused
Join Date: Sep 2007
Location: Happy place
Posts: 1,983
|
All we need now is a dedicated AI processor or two (or 20), and my dreams will have come true.
We're scratching the surface of physics right now in a similar way to how Wolf3D was scratching the surface of 3D first-person gaming. There's really good stuff still to come in gaming. 
|
|
|
08-12-2008, 06:08 PM
|
#8 (permalink)
|
|
Professional Smartass
Join Date: Sep 2007
Location: Canada
Posts: 583
|
NVIDIA have released GPU PhysX demo apps/games. Download page.
|
|
|
08-12-2008, 06:14 PM
|
#9 (permalink)
|
|
Well Focused
Join Date: Nov 2007
Location: Belgium
Age: 17
Posts: 247
|
Thanks for the link. That's a pretty big download.
__________________
-F- Darksteel
|
|
|
08-12-2008, 06:39 PM
|
#10 (permalink)
|
|
Lazyman Dan
Join Date: Dec 2007
Location: Wilmington, NC.
Age: 23
Posts: 431
|
Tell me if its worth dling all those demos and stuff.
__________________
"Golden" Rule as medic, Attach to good fellows and heal nearby losers when needbe.
Are you planning on fighting the enemy commander, or are you just going to hide in your base.
It is too late comrade the entire world and all of its history is MINE, to COMMAND AND CONQUER.
"He who controls the past commands the future. He who commands the future, conquers the past."
"He drew first blood..not me."
The soldier is a class that wins battles, the demoman is a class that wins wars.
~~~~~~~
|
|
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
All times are GMT. The time now is 10:59 PM. |
|
|
|