Lets Talk Sync!
#1

Hey guys, I've started this so we can have a little chat about the sync in SA-MP,

An yeah, it's pretty damn horrible to say the least and I don't know if you've noticed but I've seen it gradually get worse over time.. I'm now certain that this is due to our technology getting better and with that so does the ability to reach those epic frame rates that are much higher than the game code was originally designed for.

Now.. I've had a server fps cap in place of 30fps for about a week, the 30fps cap was selected because the game engine 'apparently' expects an update every 33ms, so to me that makes 30 frames per second as close as you'll ever get to the maximum possible game speed without breaking the physics or how the game ultimately plays (30x33ms = 999ms), remember that this game was ported to pc from the ps2 console which 'apparently' so I thought.. had a 25fps cap(some say it was 24, some say it was 24.9fps) I don't really know for sure to be honest.

But anyway the results of the tests are fantastic, the sync itself is truly amazing, it's actually the best I've seen/played samp in a very long time, another obvious thing is that players no longer randomly lose connection to the server even though their internet is working great, sometimes it was just a partial de-sync after a few minutes of connecting an could only really use chat or the vehicles that are streamed in until you reconnected, which doesn't appear to happen anymore since the fps cap was introduced, but why is that?

Like don't get me wrong, there is plenty of moaning and groaning about peoples games being all choppy and stuff like that which I don't think it is, my argument to those people is that it was capped @ 25fps on the ps2 and nobody really gave a crap.

I still do wonder why samp bypassed the fps cap though?, like why allow more than the capped rate if it internally breaks things such as the physics and more or less the game itself?


Comment, an share your knowledge about this.
Reply
#2

Interesting, how did you manage to keep a server sided 30fps cap?
Reply
#3

30 FPS? No thanks.

Quote:
Originally Posted by Killa[DGZ]
Посмотреть сообщение
my argument to those people is that it was capped @ 25fps on the ps2 and nobody really gave a crap.
This is mainly because GTA San Andreas was pushing the limits of the PS2, That's why the cap was in place and why people didn't care. It was mind blowing for that time, especially in Console land. Now a days, 30 fps is horrible to look at especially if you use a high refreshrate monitor. If a server would force me to play on 30 FPS, I would log of the server and don't play on that server again..

Quote:
Originally Posted by Killa[DGZ]
Посмотреть сообщение
But anyway the results of the tests are fantastic, the sync itself is truly amazing, it's actually the best I've seen/played samp in a very long time, another obvious thing is that players no longer randomly lose connection to the server even though their internet is working great, sometimes it was just a partial de-sync after a few minutes of connecting an could only really use chat or the vehicles that are streamed in until you reconnected, which doesn't appear to happen anymore since the fps cap was introduced, but why is that?.
I've played on many servers (and developed some myself / helped develop some) and never found that desync is caused by people having high framerates. Mostly desyncs were caused by a dodgy host or internet connection or just bad optimization for the gamemode.. I'm a little sceptic for your theory, especially since every players game has to suffer to solve these issues.
Reply
#4

By determining how fast players drunk level wears off, because it wears off based solely on fps rate.

Quote:
Originally Posted by Gforcez1337
Посмотреть сообщение
30 FPS? No thanks.



This is mainly because GTA San Andreas was pushing the limits of the PS2, That's why the cap was in place and why people didn't care. It was mind blowing for that time, especially in Console land. Now a days, 30 fps is horrible to look at especially if you use a high refreshrate monitor. If a server would force me to play on 30 FPS, I would log of the server and don't play on that server again..
Yeah well that is indeed their choice I guess, but I didn't implement it just to be a total asshole everyone.. contrary to what some may believe lol, it's only there to maintain a fluent consistency between players at all times.. which to me is really important for racing and/or drifting.. it also levels out the competition and rules out the 'rich boy' hardware status and brings it all back to just how well you can play.

I do however still believe it breaks the game.
Reply
#5

How do you enforce this rule?
Do you just kick them if you detect their FPS is higher or what?
Reply
#6

Quote:
Originally Posted by Freshncool
Посмотреть сообщение
How do you enforce this rule?
Do you just kick them if you detect their FPS is higher or what?
SetVehicleVelocity/SetPlayerPos and every so often 'message of exceeding the limit'..
Reply
#7

Quote:
Originally Posted by Killa[DGZ]
Посмотреть сообщение
By determining how fast players drunk level wears off, because it wears off based solely on fps rate.




Yeah well that is indeed their choice I guess, but I didn't implement it just to be a total asshole everyone.. contrary to what some may believe lol, it's only there to maintain a fluent consistency between players at all times.. which to me is really important for racing and/or drifting.. it also levels out the competition and rules out the 'rich boy' hardware status and brings it all back to just how well you can play.

I do however still believe it breaks the game.
I get why you do it, and you have a very solid point if capping the framerate actually helps. But I mean, this is game from 2004, you don't need 'rich boy hardware' to get this game to run at 60+ FPS. There must be better ways to decrease desync and lag.. I think you're scaring away more people with the cap in framerate then you'll gain unfortunatly.
Reply
#8

Quote:
Originally Posted by Gforcez1337
Посмотреть сообщение
I get why you do it, and you have a very solid point if capping the framerate actually helps. But I mean, this is game from 2004, you don't need 'rich boy hardware' to get this game to run at 60+ FPS. There must be better ways to decrease desync and lag.. I think you're scaring away more people with the cap in framerate then you'll gain unfortunatly.
The problem is some plays have 100+fps sometimes 200-300+fps, some have 20, some 30, 40, 50, 60, 90 an so on.. It's obvious right there that the clients can't possibly keep good sync if they all have different framerates, rendering and physics to one another.. it's logic isn't it?

It's more or less connecting a whole heap of similar games to a server.
Reply
#9

Quote:
Originally Posted by Gforcez1337
Посмотреть сообщение
30 FPS? No thanks.



[*]This is mainly because GTA San Andreas was pushing the limits of the PS2, That's why the cap was in place and why people didn't care. It was mind blowing for that time, especially in Console land. Now a days, 30 fps is horrible to look at especially if you use a high refreshrate monitor.
If a server would force me to play on 30 FPS, I would log of the server and don't play on that server again..
I second this, seeing as the game isn't exactly the top 10 worldwide 30 fps on gta sa wouldn't be that nice, moreover, the car's movements would ultimately cause everyone to not be able to drive for weeks until they're used to the GTA-IV movements lookalike since the car's slides will be all over the place.

The game is getting older and the players are getting more demanding asking for more/new stuff, taking out instead of adding on would just drive more of them away.

Not to mention all of the "help laggggg" and "this server is so slow wtf lol bye" comments you'll get, don't get me wrong i totally would go for a fix but what would u be fixing it for if the players high likely wouldn't stick around except for a few i would assume.

There must be another way to get a decent fix? (not one that i would know of but cutting fps down to 30...)

I also wanna add that framelimiter option is the only one that would actually work, seeing as the other options you claim to use (manipulating speed) is only you slowing down processes and not the fps, is that actually going to work? i don't think so.
Reply
#10

Yea, if you don't use a FrameLimiter fix and play with Frame Limiter off there's a whole bunch of bugs appearing (some minor bugs were fixed in SAMP):

- Vehicle braking is different (fixed in SAMP)
- Vehicles brake when not pressing W or S (fixed in SAMP)
- Vehicle acceleration is different (some planes cannot even take off)
- Climb bug (you loose HP or even die when climbing at certain places at < 55 FPS)
- Mouse not working when entering/leaving the Main Menu (fixed when connecting a Controller to the PC)
- Strafing while aiming only works when moving diagonally at least once at > 55 FPS (also fixed with Controller)
- Swimming gets slower the higher the FPS
- Game speed decreases when below 30 FPS (default cap is at 27 +/- a few, so people with original Frame Limiter settings run a slightly slower game - however having a high FPS does NOT make your game faster)

Most of them are not fixed in SAMP and even get worse with higher FPS and like you said, can lead to differences between the players' games.

Most of these were patched in some projects and other MP mods so I guess it would be possible to further improve the sync to a degree and remove some of the differences between low FPS and high FPS clients.

In Servers where this matters (DM, racing, other "competitive" modes) I try to run at 35-40 FPS so that most of the bugs and problems don't appear. Going lower however always feels laggy and not fun to play anymore.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)