I’m using RemoteEvents to send a player’s GUI drawing to other players in the game about every half second. Everything runs well for the first minute, but then everything goes downhill from there.
The whole server F9 console stops responding and doesn’t load Server Stats or the Server Console. The players board stops getting replicated to the other clients and my chat system that uses .Chatted doesn’t even work. Overall, nothing continues to work.
That means you’re firing remote events/functions too many times in a little amount of time. You can try only updating once a second or something like that.
I’m pulling a gui with a ton of ImageLabels from the “drawing” player in the server, cloning it to ReplicatedStorage and then sending the reference to that model via a RemoteEvent to the “guessers”. Am I doing something wrong? Any suggestions on how to cut down and make the process more efficient?
I’m pulling a gui with a ton of ImageLabels from the “drawing” player in the server, cloning it to ReplicatedStorage and then sending the reference to that model via a RemoteEvent to the “guessers”. Am I doing something wrong? Any suggestions on how to cut down and make the process more efficient?[/quote]
Wow. No, no, no, no. Do not do that. That is a complete waste of network resources.
When your player clicks or whatever you’re undoubtably firing a DrawPixelAtThisPoint function. Have that function tell the server that a point has been drawn and then have the server tell the clients to update their canvases to include that point.
Server:
imageupdate on server event
for player in pairs players:GetPlayers() and player ~= invoker
ImageUpdate:FireClient(player, labelimage, position, size)