Jump to content
Sign in to follow this  
Richey79

PhysX

Recommended Posts

If your CPU has hyper-threading, then turn it off (you have to do it in BIOS settings). Apparently HT decreases performance for a lot of games, including Arma 2.

Well I have to have hyperthreading enabled for other purposes. But in any case, I did experiment with turning it off, and I can only describe the effect as losing half the power of my CPU. I didn't notice any FPS drop.

With HT enabled, I see 4 out of 8 threads being utilised about 50% each, making 25% of my CPU utilised, which is what my desktop widget also says. And with HT disabled, I see all 4 cores utilised about 50% each, making my CPU 50% utilised in total. I discerned that my half-powered CPU was was doing the same amount of work as my full-powered one, making it seem harder working :)

All in all it was a null game, so I leave HT enabled.

Share this post


Link to post
Share on other sites
It's up to the developer to choose what parts of it they implement, and how they implement it.

I hope the developers choose to implement destruction, or somehow allow modders to do it. I found a really old FPS game that uses physx and would love it if arma 3 could have destruction like it.

GhlfmYYsvhQ&feature=related

Share this post


Link to post
Share on other sites
I hope the developers choose to implement destruction, or somehow allow modders to do it. I found a really old FPS game that uses physx and would love it if arma 3 could have destruction like it.

The developers already said the destruction in A3 will be more or less the same as the one in A2: that is no physx or apex controlled.

Share this post


Link to post
Share on other sites
The developers already said the destruction in A3 will be more or less the same as the one in A2: that is no physx or apex controlled.

Thanks now I understand. There hasn't really been any information released about physx in arma 3, is physx used for grenade and artillery explosions or will that also remain much the same as in arma 2?

Share this post


Link to post
Share on other sites

I believe the simulation of blast waves from explosions has been confirmed, yes. That would be an area that will likely make use of PhysX.

Share this post


Link to post
Share on other sites
I believe the simulation of blast waves from explosions has been confirmed, yes. That would be an area that will likely make use of PhysX.

Does that mean objects will effect kill radius?

Share this post


Link to post
Share on other sites
Does that mean objects will effect kill radius?

They already do. ;)

Share this post


Link to post
Share on other sites

:p More accurately...? I've had some weird bugs with explosives. :D

Share this post


Link to post
Share on other sites
:p More accurately...? I've had some weird bugs with explosives. :D

Yeah, a milimeter gap under a wall seems to completely nullify its effectiveness as cover against explosions. :D

Hopefully PhysX will change that.

Share this post


Link to post
Share on other sites

Shrapnel can be very cheaply "simulated" through simple probability calculations, i.e. look at the distance of the explosion to the victim and calculate how many pieces of shrapnel are likely to hit him based on the shrapnel density, the victim's size and an element of randomness.

Tracking hundreds or thousands of individual projectiles per explosion in real time seems like overkill.

Share this post


Link to post
Share on other sites
Well I have to have hyperthreading enabled for other purposes. But in any case, I did experiment with turning it off, and I can only describe the effect as losing half the power of my CPU. I didn't notice any FPS drop.

With HT enabled, I see 4 out of 8 threads being utilised about 50% each, making 25% of my CPU utilised, which is what my desktop widget also says. And with HT disabled, I see all 4 cores utilised about 50% each, making my CPU 50% utilised in total. I discerned that my half-powered CPU was was doing the same amount of work as my full-powered one, making it seem harder working :)

All in all it was a null game, so I leave HT enabled.

Yeah, hyperthreading makes it look as if your cpu is doing less work than it actually does. Arma specifically ignores hyperthreading, there's only downsides to using it because one of the threads is so much heavier than all the others. the other threads can easily be distributed among the other cores without fully stressing the cpu.

hyperthreading only has value if you're at 100% cpu load, so far the only thing I've seen that comes close is battlefield, but even there the gains are marginal at best and lots of users say it causes stutter just like it did in the arma launch version, before actively ignoring hyperthreading.

Share this post


Link to post
Share on other sites
Shrapnel can be very cheaply "simulated" through simple probability calculations, i.e. look at the distance of the explosion to the victim and calculate how many pieces of shrapnel are likely to hit him based on the shrapnel density, the victim's size and an element of randomness.

Tracking hundreds or thousands of individual projectiles per explosion in real time seems like overkill.

I wonder if the shrapnels are simulated with this cheap method in America's Army 3, or physx.

Share this post


Link to post
Share on other sites
Yeah, hyperthreading makes it look as if your cpu is doing less work than it actually does. Arma specifically ignores hyperthreading, there's only downsides to using it because one of the threads is so much heavier than all the others. the other threads can easily be distributed among the other cores without fully stressing the cpu.

hyperthreading only has value if you're at 100% cpu load, so far the only thing I've seen that comes close is battlefield, but even there the gains are marginal at best and lots of users say it causes stutter just like it did in the arma launch version, before actively ignoring hyperthreading.

Total BS. ARMA _cannot_ ignore hyperthreading. It's invisible to it. It's invisible even to OS (though OS can optimize scheduler for it). Look at wikipedia, I'm no expert. There is no reason to turn it off unless you've specific needs unknown to me. Sorry for being off-topic.

Share this post


Link to post
Share on other sites
Total BS. ARMA _cannot_ ignore hyperthreading. It's invisible to it. It's invisible even to OS (though OS can optimize scheduler for it). Look at wikipedia, I'm no expert. There is no reason to turn it off unless you've specific needs unknown to me. Sorry for being off-topic.

arma sees 8 cores, tells windows to only use 4 cores.

Dunno if physX code benefits from hyperthreading, some things scale very well with it.

Share this post


Link to post
Share on other sites
arma sees 8 cores, tells windows to only use 4 cores.

Dunno if physX code benefits from hyperthreading, some things scale very well with it.

Wont arma 3 have support for 6 and 8 cores? Pretty stupid if not, since lot of people have Phenom II X6's and hyperthreading intels.

Share this post


Link to post
Share on other sites
arma sees 8 cores, tells windows to only use 4 cores.

Dunno if physX code benefits from hyperthreading, some things scale very well with it.

Why the hell would ARMA tell Windows how many cores to use? That's not how it works. ARMA may detect HT and decide to use only 4 worker threads which could make sense if synchronization cost too much and those threads run 99% of time because Windows HT-aware scheduler will place them on physical cores (HT creates 2 virtual cores per 1 physical core) and in the end your CPU will be fully utilized even though task manager will show you 4 idle (vritual) cores.

Edited by batto

Share this post


Link to post
Share on other sites

well, whatever the method the result is the same, hyperthreading is not used.

Share this post


Link to post
Share on other sites
well, whatever the method the result is the same, hyperthreading is not used.

Because it isn't wanted. Did you read my previous post (and also [1])? You can't "use hyperthreading" FFS. Just because some logo looks cool doesn't mean it'll boost your performance by "using it". Leave the implementation details on professionals in BIS.

[1] http://forums.bistudio.com/showthread.php?129609-Arma-3-amp-amp-Multithreading!!&p=2141688&viewfull=1#post2141688

If You want continue, do it in this thread please:

http://forums.bistudio.com/showthread.php?129609-Arma-3-amp-amp-Multithreading!!

I suppose mods will arrive soon.

Edited by batto

Share this post


Link to post
Share on other sites
Shrapnel can be very cheaply "simulated" through simple probability calculations, i.e. look at the distance of the explosion to the victim and calculate how many pieces of shrapnel are likely to hit him based on the shrapnel density, the victim's size and an element of randomness.

Tracking hundreds or thousands of individual projectiles per explosion in real time seems like overkill.

If they gave us raycasting intercept functions like they have in VBS2 then we could do that already. :( On another note, check out the implementation of fragmentation I just added to ACE.

Share this post


Link to post
Share on other sites
What about shrapnel? Is it going to be simulated by PhysX?

Share this post


Link to post
Share on other sites
arma sees 8 cores, tells windows to only use 4 cores.

Dunno if physX code benefits from hyperthreading, some things scale very well with it.

Hate to tell you, but PhysX itself doesn't support any multithreading. In fact, PhysX is primarily run on nVidia hardware and if it there isn't any nVidia hardware detected it offloads all calculations to the processor with very inefficient code. It was already shown by one programmer who could improve performance significantly by just updating the code to a new instruction set. See http://techgage.com/news/report_nvidia_throttles_physx_performance_on_the_cpu/ , nVidia has nothing to gain from making PhysX more efficient on processors. In fact we are at SSE 4.1 now, while PhysX on processors has yet to use SSE as it is stuck at X87, developed in 1980. That's prehistoric in the vocubalary of computers.

Share this post


Link to post
Share on other sites
If they gave us raycasting intercept functions like they have in VBS2 then we could do that already. :( On another note, check out the implementation of fragmentation I just added to ACE.

Dude thats badass. Thanks!

Share this post


Link to post
Share on other sites
Hate to tell you, but PhysX itself doesn't support any multithreading. In fact, PhysX is primarily run on nVidia hardware and if it there isn't any nVidia hardware detected it offloads all calculations to the processor with very inefficient code. It was already shown by one programmer who could improve performance significantly by just updating the code to a new instruction set. See http://techgage.com/news/report_nvidia_throttles_physx_performance_on_the_cpu/ , nVidia has nothing to gain from making PhysX more efficient on processors. In fact we are at SSE 4.1 now, while PhysX on processors has yet to use SSE as it is stuck at X87, developed in 1980. That's prehistoric in the vocubalary of computers.

Nvidia appears to dispute these claims: http://www.itproportal.com/2010/07/08/nvidia-were-not-hobbling-cpu-physx/

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×