Tweening on the client helps to ease server lag, doing the work on the player’s PC lets it focus more on other background processes.
You can do that through a remote event by sending the part, location, time or something like it.
Hello,
I really do not have the patience or time to convert all these tweens into localscripts and certainly not for the future as well. I literally cannot do anything about it myself other than advocate for the removal of this lag, which I am doing right now. It hasn’t happened before, and I don’t think making everything client-sided is a permanent solution. Furthermore, this doesn’t just apply to tweens. Script line parsing, tweens, physics, are all delayed and laggy.
Server sided tweening and general effects handling was a massive issue for me only a few days ago.
One local script in starter player with multiple tweening functions and event connections greatly eases server lag, and if you simply duplicate the same tweening function and change the properties, it takes no more than 5 minutes to write.
Instead of calling a tween just fire the event for all clients, problem solved!
Try to reduce the part count of the game, like making union and such, and them rewrite the scripts to tween less parts.
I also think there is a thing in the view tab that finds the scripts that lag the game the most, though I don’t remember the name of it.
Hello,
I really don’t want to do that. Serversided tweening isn’t necessarily advised against in any roblox development communities, especially if it were just a simple part position tween. But even that lags now, but wouldn’t lag a few months ago. All I want is this lag to be fixed, as doing all that extra work is quite unnecessary. @Osrock_626, part count has nothing to do with this lag. Even if I had a tween in just a baseplate it’d lag. This lag basically applies to all my games, and others have reported it in my games as well.
Should I handle Tweens on the client? - Help and Feedback / Scripting Support - DevForum | Roblox
It’s not advised against but it helps in situations like this.
Other than that, you’ll have to do more work to make memory for the tweens to use. This means reducing your part count or enabling content streaming, if it isn’t on already.
You could also make a settings option to change door styles etc to instant movement, but again you’ll need to handle them client side.
Well perhaps the part count doesn’t really do as much as to reduce lag (it really does but by small amounts), but you have to commit to doing the extra work because that is the only way to fix anything.
Server sided tweening and general effects handling was a massive issue for me only a few days ago.
One local script in starter player with multiple tweening functions and event connections greatly eases server lag, and if you simply duplicate the same tweening function and change the properties, it takes no more than 5 minutes to write.
Instead of calling a tween just fire the event for all clients, problem solved!
I recommend what @Irideon said here, this seems to be going where it needs to go and it is a faster solution.
It kind of is. Here is a module someone made to combat this. Tweeting on the server is a bad idea because it uses CFrames, which the client can’t interpolate like physics based movement (it makes the movement smooth). Also, it sets the CFrame a whole bunch which, as you can imagine, having to replicate a ton of CFrames isn’t good on bandwidth usage.
Hello,
Noticeable lag
Hello,
I just don’t see why I should switch to an alternative when it worked just fine before. It literally started lagging only a few months ago and those tweens in the game have existed since the beginning of 2020.
I cannot reproduce this in any of my games, they all use tweening for most of the visual effects.
The games also have high part count.
Good and bad practice, certain issues become more and more noticable over time if not addressed, even if not what’s causing problems currently, server tweening will increase latency over time if they loop.
If a blank baseplate begins to lag, and nobody else can repro it, it’d likely help to reinstall Studio.
Wait for a few replies first, in case I got very lucky and a bug cropped up which didn’t impact me.
Hello,
Not studio. In game. In roblox engine game. Have bad. Lag before not exist. Now is lag. Please fix lag. I can not do anything.
Roblox Studio was never the problem for me, hence why I only fixed it a few days ago when I play tested my game with a friend. It previously never lagged, then begun to lag. Nothing else was being as badly affected as tweening.
The solutions me and everybody else reccomended above helped.
The post in which I asked about it myself:
Tweens lagging, but gameplay works as normal - Help and Feedback / Scripting Support - DevForum | Roblox
Hello,
Let’s see how much lag there is in a 95 part game
In essence, if I’m about to spin the cube around in a circle relatively fast, that means each pulse of physics aren’t stacked atop eachother due to delays, and as a result will not skip to arbitrary points in the trail of my mouse
Looks like it lags. 95 parts. 95. Not only have I reiterated that this hasn’t happened before a until a few months ago, but part count has nothing to do with this. Sure, some games have higher part counts and thus induce more lag, but this is only client sided, because most of the parts are anchored. Besides, I need those parts for the realism.
Hello,
Oh, and I’m pretty sure at least 18 of those parts are part of my character model. Terrain was probably counted as well, and so was that anchored metal plate
Since a player is interacting with a part in your scenario, you could set the part NetworkOwnership to the player when moving to be sure the player has the physics ownership of the part…
…and back to nil a few seconds after letting go? ( I probably just let the player keep ownership for good part physics unless you intend a player to move a lot )
If part count has nothing to do with it, fair enough. A good tool if you need extra detail in a large map is workspace.StreamingEnabled.
Have you even attempted to fix it by handling your special effects on the client [all of them, Tweening was just a nice start], or not? Use the player’s processing power rather than eating into the server’s.
If not then you’ll not know whether it’s the issue or not.
If that does not help, then you can assume that either there’s an ongoing issue with the engine and you should search and try to find it, or have a look for any recurring functions or loops that run a lot of lines at once, or do anything that could cause lag.
Investigation solves most of these issues, even if it takes a while.
Hello,
then you can assume that either there’s an ongoing issue
YES!
That is literally what I have been trying to say the whole time. I’m not going to make everything beside logic client sided in my game because I don’t want to and it’s just not worth it. I am aware of StreamingEnabled and I am already using it for my game. @Lobestone, I’ve already talked about this. Physics is not the only issue of this lag and so is tweening not being the only issue. This is applies to all server-sided replication to the client, for example script line parsing, which shouldn’t be delayed at all if there wasn’t an intentional delay. Networkownership has nothing to do with this lag at all, as this applies to all my games, even the ones which have no physics involved.
What I made this thread for was to report this bug as I believe it to be and have roblox fix it. I don’t want to fix it myself and use hacky methods to do so because this all wouldn’t have happened if the lag hadn’t happened in the first place. I did a tour with @Nanoswamp a few months ago before the lag and then again a week ago and he has reported that the tweens lag much more than before, however I haven’t changed or added much in that time span.
I do know Roblox server performance have been getting slightly reduced that player interaction to objects sometimes take two seconds to spawn an item for a player out of the blue and probably run it down to Roblox changing the performance levels of their servers or using lower spec cloud hardware to run Roblox games.
It’s always best to try to have clients handle physics, tweeting, visuals and have the server handle transactions, validation, game events, and player experience checks incase Roblox has adjusted server performance.
Think of Roblox opting for the cheapest but still ‘alright’ option of hosting/running your game server. Could change at random to get worse or better.
Similar to AWS per second billing and AWS saving plans. Roblox doesn’t use AWS, but whatever Roblox does use, could be slightly less performance than the month before.
As I would put it myself, if you’re not hosting it, try to use it the least you can for the best experience and responsiveness for players. You don’t know if Roblox might opt to lease different server performances to keep profits afloat.
Edit: Don’t treat this off as being mean. I would agree to let Roblox know that your game isn’t the same experience as before and ask about. I just suggest to do anything you can on the client so the player feels the game being ‘super responsive’. Having a game even take a split second to give you an item can feel like a negative experience for a player.
Hello,
Update: @Nanoswamp himself has reported serversided lag.