Lykaios
28-10-2007 05:25:48
I love the ease and extensibility of NxOgre, and I would love to use it. I only have one question before I dive in headfirst:
Are there any real cons to using NxOgre as opposed to writing in the functions to converse between Ogre and PhysX?
I would far prefer to use Nx, but is it more limited as far as the number of actors, shapes? I know there are limits there but would they likely become a problem in a typical game?
I'm just starting out here and read that I can only use 10,000 shapes and actors. This sounds like quite a bit, but I am having a hard trouble imagining how many would be used in say, a large level populated with players playing online?
Sorry if this is badly worded, I'm tired and really trying to figure my way out here.
betajaen
28-10-2007 09:41:23
I took me months to write NxOgre even with the knowledge of PhysX. It would take probably more to do so. Why bother with it, when you have something already written for you?
10,000 actors and shapes would be excessive. I've tried 10,000 actors and shapes and the entire computer just crawls. We are talking 0.1 FPS here.
There are two problems with it; one Ogre, each cube rendered separately and there is no optimisation, so there are over 10,000 rendering calls. That could be improved with custom Actors that implement instancing. Or using billboards or even hiding Actors that are really far away or not in view.
Second is Scene optimisation; Using a multi-core processor, or using PPU's, compartments and putting actors to sleep quickly. They all help.
10,000 is certainly possible but it requires a ton of optimisation, without any you could do 3,000 easily.
However, I haven't seen a modern computer use Actor limits that high. Even in Half-Life 2 Episode 2, some of the commentaries talk about the new physics system and there only dealing with 800 actors on screen at once, and that is highly optimised stuff there.
In short. Don't worry about it, and use NxOgre.
Lykaios
29-10-2007 17:41:47
Haha, cool.
I can't wait till I get to the point of being able to give back to this community. I just needed someone to break down how the numbers really worked. I give a giant sigh of relief and now work on learning this killer app.
Many thanks,
~Lykaios
VictorMoran
29-10-2007 18:29:59
So NxOgre runs at 0.1 fps with only 10,000 actors? that's kind of a surprise, I was under the impression that Phyx could do 32000 to 40000 active actors without braking a swept.
http://www.extremetech.com/article2/0,1 ... X1K0000532
What is your computer spec?
I also find 800 actors on the low end for HL2. It seems they are doing more. I guess that game play is still more useful than brute force.
betajaen
29-10-2007 18:46:03
It's not the actual running (although it's a factor), it's the displaying them. Say a cube has 32 triangles, that's 1024000 triangles for a entire scene, complete with 32000 separate rendering calls.
Even Ogre couldn't do that.
Half-Life 2 Ep2 only have 800 actors in the beginning and half-way through, the amount of Actors I've seen is 200 tops.
VictorMoran
29-10-2007 19:13:06
Oh I see, maybe some geometry instancing with a good video card can help, Ogre support it.
I'd seen some demos were they really reduce the draw calls and render thousands of objects. Even complex animated actors .
http://developer.download.nvidia.com/SD ... ePaper.pdf
betajaen
29-10-2007 19:39:25
That would certainly help. Optimising the physics will greatly help as well, but I can't see it handle 32k of Actors.
Lykaios
29-10-2007 20:14:11
Let me ask a theoretical:
If my gamespeed could be greatly improved with the physX hardware, would multithreading multiple physX cards on my server improve client gamespeed, even if the clients didn't have physX cards?
That way I could use cloth and liquids without demanding uber computers or physX cards. I hate PC games that demand all the most expensive technology.
~Lykaios