• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Single GPU + PhysX = ...Microstutter?

Joined
Oct 26, 2005
Messages
2,340
OK, this is a weird one... Recently got a GTX 580, and thought I'd give PhysX a shot in Mirror's Edge. But although Fraps was reporting a fairly consistent high framerate, something felt a little off...

Here are the frame delays with PhysX off:
chart1s.png


And with PhysX on:
chart0.png


It actually feels smoother running on the CPU at 35-40fps.

Anyone else have the same problem? Any ideas?
 
Yeah. I don't think you can run Miror's Edge PhysX on CPU.

So either you're running it on GPU, or not at all.
 
No... It is an in-game setting, but yeah...you can then in Nvidia CP choose CPU or GPU.
So yeah I was wrong about not being able to run on CPU...

Are those miliseconds?

EDIT: One of my favorite games BTW xD
 
I meant you can't choose CPU / GPU in-game.

Yeah, the frame delay is in ms. The time span is about 20s.
 
What is the main fix for microstuttering? It gets really annoying and I want to know how to avoid it.
 
What is the main fix for microstuttering? It gets really annoying and I want to know how to avoid it.

The only sure fire fix is smashing your head into the desk until you lose the ability to notice it.

If you're sensitive to micro-stutter you should also avoid multi gpu setups
 
The "fix" for micro stutter is to reduce settings or disable IQ options until it goes away. Basically your hardware is being stressed too much somehow and either the video card or the CPU can't provide the performance necessary. So you're stuck with turning it off unless you want to get another nV GPU just for phyX use, which AFAIK is something that is an option at least.

No idea which video card you'd need to use though for that purpose.
 
The only sure fire fix is smashing your head into the desk until you lose the ability to notice it.

If you're sensitive to micro-stutter you should also avoid multi gpu setups

Actually by definition microstutter is a multigpu issue.

Not sure what is going on here but its not the traditional microstutter that we talk about.



from the OP I can't tell if physx was just enabled while on his GTX580 or if he had a dedicted physx card.


my guess would just be that the framerate is much more erratic with physic + graphics running on the same card, during high physic calculation moments the framerate should drop and then increase back up.
 
The "fix" for micro stutter is to reduce settings or disable IQ options until it goes away. Basically your hardware is being stressed too much somehow and either the video card or the CPU can't provide the performance necessary.
It's pumping out 60 frames every second, so it can't be struggling that hard... It's just not pumping them out at the right time. Anyway, turning down the res and disabling AA and SSAO doesn't help

Actually by definition microstutter is a multigpu issue.

Not sure what is going on here but its not the traditional microstutter that we talk about.
By definition, microstutter just means that frame delays are alternating between high and low, giving you a consistently high average framerate, but an abysmally low instantaneous rate at every second frame. This is exactly what I'm seeing. The cause might not be the traditional one, but the symptom is the same.
 



The fix for erradic framerate on a single GPU is Vsync - have you tried locking your GPU at 60 or 30fps and turning on vsync?


trust me, its not microstutter you are experiencing, its not possible on a single gpu

from the faq
microstutterfaq said:
Why does microstuttering happen?
It's a product of the failure of a multi GPU solution to syncronize properly. Frame syncronization is the act of making sure that the time between frames is identical no matter where you take a measurement. In a single GPU solution one GPU builds the image, and then sends it off to the monitor. It then builds another and sends it off as well. Thus, a single GPU solution does not suffer from microstutter.

What you are experiencing is just a much higher swing in high and low fps even within a single second, with Physx running on the same card as your graphics i am not suprised.

Lock the framerate or GPU down so it is not running at 100% capacity (or enable Vsync to try and framerate limit card).

Out of curiosity what settings have you tried? i'd be interested to see a 1024x768 w/vsync enabled running the same test.

My initial guess is Nvidia isn't load balancing the physx and shaders calculations very well. IMO if you enable physx on a single card it almost needs to reserve a set of shaders just for the physx instead of trying to schedule them for both shaders and physx calculations.
 
VSync doesn't help. It runs smooth at 1024x768, but only because it's dipping to 100fps instead of 30.

trust me, its not microstutter you are experiencing, its not possible on a single gpu
Trust me, it is. Microstutter is a symptom of improper output synchronisation in multi-GPU systems under an alternate frame rendering (AFR) configuration. That doesn't mean it can't be a symptom of something else too.

What you are experiencing is just a much higher swing in high and low fps even within a single second
It's more than that; the framerate drops occur almost exactly on every second frame:

chart3.jpg
 
VSync doesn't help. It runs smooth at 1024x768, but only because it's dipping to 100fps instead of 30.[/IMG]

Try with Vsync on and your monitors refresh rate set to 60hz, by its very nature Vsync is suppose to syncronize your frames (where as microstutter is out of sync frames).. If you set the game to a low resolution you should get a perfectly syncronized 60 fps (meaning each frame is exaclty timed to your monitors refresh rate cycles)

Keep in mind too that Vsync isn't an average, it should sync each frame to a cycle on your monitor.

you should see 60, 30 or 15 fps if the Vsync is working correclty and the frames should be exactly timed.


If you can't get a 60/30/15 syncronized framerate then i'd almost call it a bug in nvidia's drivers, where they just aren't load balancing or they are letting the physx load over work the pixel shader operations.
 
Use vsync or at least cap your fps to 62 on a 60hz monitor. On games that use UE3 you can go into the config and set the smooth frame rate to 62.
 
Yeah, that's definitely microstutter.

Still, it's not exactly unexpected though. You're diverting a lot of the GPU power to doing physics calculations instead of graphical ones. So every time it has to do some physics( which isn't necessarily all the time), it'll have less power to do the current frame, so that frametime gets longer than the previous one.
 
Thanks, that did it :)

Was probably on by default... I just habitually turn it off for every UE3 game, since I'm usually running at 85Hz.



You can go into the cofig and set it to 85 fps if you wish, just be aware that its best to have a solid 85fps to go with it.
 
Back
Top