Aller au contenu

Photo

[PC] How to eliminate/reduce "rubber-banding" when playing off host under poor network conditions.


  • Veuillez vous connecter pour répondre
66 réponses à ce sujet

#51
tetsutsuru

tetsutsuru
  • Members
  • 2 094 messages

Caratinoid wrote...

Did another test with a very large value, which gave me about one location update per second. In game it would take around one second for an ammo box or hack circle to register my location (which was to be expected) but powers and weapons were still working instantly with no lag, so I guess it confirms that it does not affect powers or weapons.


As far as the game engine is concerned, sure.  However, since this rubber banding effect makes it almost impossible to properly aim and shoot at the target anyway.... :P

#52
FateNeverEnds

FateNeverEnds
  • Members
  • 2 065 messages
It's been a while since the last useful thread on BSN.

#53
MichaelFinnegan

MichaelFinnegan
  • Members
  • 1 032 messages

Caratinoid wrote...

Did another test with a very large value, which gave me about one location update per second. In game it would take around one second for an ammo box or hack circle to register my location (which was to be expected) but powers and weapons were still working instantly with no lag, so I guess it confirms that it does not affect powers or weapons.

Thanks. I'm going to change this whenever I log in. I play at 60 FPS and I get some rubber banding when off host, not a lot but definitely noticeable. I never resorted to the reduced FPS since the game just felt not worth playing.

#54
Caratinoid

Caratinoid
  • Members
  • 982 messages

megawug wrote...

Caratinoid wrote...

What value are you using for MOVEREP_DELAY_FRAME?

And yes it should reduce your lag time too because there is less data to send network packets will also be smaller which means lower ping. You can actually see this if you try to ping another computer with different packet sizes (standard command line command 'ping' in windows can do it).

I played different classes during a night (this is when I usually get problems) and had no issues either. In my case I get 90 updates less out of possible 120 (MOVEREP_DELAY_FRAME of 3 at 120 FPS) so I guess if there would be any problems I would notice them by now.


I'm using a value of 2, which should be 30 per sec (60 FPS/2).  There's definitely still lag off-host, but I'm getting a lot less of the "get hit before I see it" kinda warping.  It's nice not to have to start dodging before the enemy fires a shot.

Actually a value of 2 means 2 skipped frames so you'll get around 20 packets per second, still a good value to be at. As I said this is how you calculate it (there is a plus 1 in there):

Net packets per second = FPS / (MOVEREP_DELAY_FRAME + 1)

#55
Qui-Gon Glenn

Qui-Gon Glenn
  • Members
  • 2 108 messages
Well, having stumbled into a Russian lobby (with my super buddy ftftl in there) UUG with a level 14 Vorcha Engineer. Subnet........ Incinerate..... rubber banding madness.

I will try this fix tomorrow. Last night I couldnt connect to a lobby that didn't have me bouncing all over the place.

#56
megawug

megawug
  • Members
  • 2 800 messages

Caratinoid wrote...

Actually a value of 2 means 2 skipped frames so you'll get around 20 packets per second, still a good value to be at. As I said this is how you calculate it (there is a plus 1 in there):

Net packets per second = FPS / (MOVEREP_DELAY_FRAME + 1)


Hmmm... the default was set to 1.  So it's implicit that it defaults to 30 packets per second @ 60 FPS?

Modifié par megawug, 26 juillet 2013 - 06:39 .


#57
Caratinoid

Caratinoid
  • Members
  • 982 messages

megawug wrote...

Caratinoid wrote...

Actually a value of 2 means 2 skipped frames so you'll get around 20 packets per second, still a good value to be at. As I said this is how you calculate it (there is a plus 1 in there):

Net packets per second = FPS / (MOVEREP_DELAY_FRAME + 1)


Hmmm... the default was set to 1.  So it's implicit that it defaults to 30 packets per second @ 60 FPS?

Yes. Usually it would be ok to play with the default setting as long as you don't go over 60 FPS but depending on your connection and connection of the hosting player that might not always be the case. Connections with high network latency are more likely to cause this glitch.

#58
winelanv44

winelanv44
  • Members
  • 84 messages
My favorite rubber banding is when I jump over cover and am pulled back so that I land in the spot I started at...

Looks like an elegant fix, though a few questions:
1) how many packets per second is too few? You mentioned 20 pps as acceptable. How much lower can that go? (Asking out of curiosity)
2) is there any way to determine actual fps within me3, or are the video card tools or 3rd party app the only way to determine this? I ask because I have no idea what my fps my laptop is pushing out.

#59
Caratinoid

Caratinoid
  • Members
  • 982 messages

winelanv44 wrote...

My favorite rubber banding is when I jump over cover and am pulled back so that I land in the spot I started at...

Looks like an elegant fix, though a few questions:
1) how many packets per second is too few? You mentioned 20 pps as acceptable. How much lower can that go? (Asking out of curiosity)
2) is there any way to determine actual fps within me3, or are the video card tools or 3rd party app the only way to determine this? I ask because I have no idea what my fps my laptop is pushing out.

Low postion update rate may play to your advantage in some special cases but most of the time it will be the opposite so it's in your best interest to keep postion update rate as high as possible but low enough to not cause the glitch.

If you still have problems with 30 updates per second than your connection is probably a bit slow. Just try different values until you no longer get the glitch. I wouldn't go lower than 10 position updates per second or you may start to see noticeable problems like slow traveling powers such as throw hitting a wall even if there is no wall in front of you because you still stand behind a wall on the server.

These programs can show ingame frame rate: Fraps, MSI afterburner, Dxtory etc.

Modifié par Caratinoid, 26 juillet 2013 - 08:31 .


#60
FasterThanFTL

FasterThanFTL
  • Members
  • 4 709 messages
I have tried this and I don't know what it does or whether it has a psychological effect on me but it definitely make a difference, when playing off-host. I definitely died much less random bs deaths today when playing off-host and the rubber-banding was not much noticeable compared to before using this tweak. This definitely gets my seal of approval and is by far the most useful thing I have picked up from the forums in recent memory.

#61
SpaceV3gan

SpaceV3gan
  • Members
  • 2 379 messages
I desperately needed this. I do U/U/P on lobbies from the other side of the Planet everyday. 90% of my games are as such. And I rubber-band on every single one of them. At times it is beyond stressful.
Will try this tomorrow for sure, especially after reading so many positive comments.

#62
Mgamerz

Mgamerz
  • Members
  • 6 120 messages
I remember in one of the engine files there was a bounceback variable... I never tweaked it as I almost always host, but I know it had something do with rubber banding as well.

#63
SpaceV3gan

SpaceV3gan
  • Members
  • 2 379 messages
Reporting back. I am in Australia, I play on European hosts most of the time. Lag is quite bad when I am lucky. Utterly unplayable when I am unlucky.
Fraps showed my framerate capped at 60, probably due to vertical sync. Didn't wanna touch anything on that one, I hate screen tearing.
Firstly I try inserting a MOVEREP_DELAY_FRAME value of 3. Then had one insanely laggy game (Glacier/Collectors/Plat). I was getting free revives four to five times per wave! The pugs must have thought I had infinite gels. I did not actually see my character rubber banding, but my friend said I was jumping around like never before. I saw enemies teleporting on my screen very often, my character not as much.
Changed the MOVEREP_DELAY_FRAME to a value of 2. Another game, White/Collectors/Plat. Little improvement. I only got two free revives the whole game. Enemies were not teleporting as much, but every now and then there were several seconds of "nothingness", which would normally kill my character. Extraction wave my team mates were surfing instead of running.

To sum up, I found this fix somewhat reduces the classic Rubber banding onscreen. Every other issue associated with lag felt as if they were increased. I assume I am doing something wrong. A little guidance from the OP would be much appreciated.

#64
Lexsoar

Lexsoar
  • Members
  • 109 messages
I've just made this change; change to 2 and put max frame rate up to just 60. Hopefully this works out :>. Thanks for helping us out again big C.

#65
Caratinoid

Caratinoid
  • Members
  • 982 messages

SpaceV3gan wrote...

Reporting back. I am in Australia, I play on European hosts most of the time. Lag is quite bad when I am lucky. Utterly unplayable when I am unlucky.
Fraps showed my framerate capped at 60, probably due to vertical sync. Didn't wanna touch anything on that one, I hate screen tearing.
Firstly I try inserting a MOVEREP_DELAY_FRAME value of 3. Then had one insanely laggy game (Glacier/Collectors/Plat). I was getting free revives four to five times per wave! The pugs must have thought I had infinite gels. I did not actually see my character rubber banding, but my friend said I was jumping around like never before. I saw enemies teleporting on my screen very often, my character not as much.
Changed the MOVEREP_DELAY_FRAME to a value of 2. Another game, White/Collectors/Plat. Little improvement. I only got two free revives the whole game. Enemies were not teleporting as much, but every now and then there were several seconds of "nothingness", which would normally kill my character. Extraction wave my team mates were surfing instead of running.

To sum up, I found this fix somewhat reduces the classic Rubber banding onscreen. Every other issue associated with lag felt as if they were increased. I assume I am doing something wrong. A little guidance from the OP would be much appreciated.

'Jumping' of the enemies and free revives are not related to this variable. Positions of the enemies are handeled by the server and any errors will depend on the quality of the connection between you and the host, it's not something you can alter from the client side. Same applyes to surfing team mates and free revives, this is something that can happen when you have lag. This fix does not fix all known glitches that can happen with a bad connection quality especially not those that are caused by a high network packet drop rate, it will only decrease the chanse of rubber banding issue and shouldn't introduce any new bugs. Values of 2 and 3 are both ok to be used at 60 FPS.

Modifié par Caratinoid, 30 juillet 2013 - 02:40 .


#66
Lexsoar

Lexsoar
  • Members
  • 109 messages

Lexsoar wrote...

I've just made this change; change to 2 and put max frame rate up to just 60. Hopefully this works out :>. Thanks for helping us out again big C.


I've only done a few silvers since that post a week ago.  Still jumping around in certain games so going back to fugly 30 :<

#67
Caratinoid

Caratinoid
  • Members
  • 982 messages

Lexsoar wrote...

Lexsoar wrote...

I've just made this change; change to 2 and put max frame rate up to just 60. Hopefully this works out :>. Thanks for helping us out again big C.


I've only done a few silvers since that post a week ago.  Still jumping around in certain games so going back to fugly 30 :<

Your connection sucks, set it to 3. 30 FPS is equivalent to a value of 3 at 60 FPS.