Everoso
|
  |
| Joined: 26 Jul 2016 |
| Total Posts: 189 |
|
|
| 29 Jul 2016 01:48 AM |
TL;DR Scripters feel free to jump in on stuff I got wrong or add stuff to it. I'll be sending this to SH admins on the site?
I think this is the most poorly written article on the Scripting Helpers website.
"#2: Use less RemoteEvents
If you're using Network Filtering, chances are you're using RemoteEvents to communicate with the server. Though this is a very relevant way, this causes latency when used moderately enough."
First off, this clearly wasn't read over. A very relevant way? What? Relevant to what? Used moderately enough? This makes no sense to users who will be newer to these concepts.
"• Use one RemoteEvent for different purposes."
How does this help with "lag" at all? This makes no real difference because of how RemoteEvents are handled, more connections listening to more RemoteEvents will not increase the "lag".
"• Make use of ReplicatedStorage"
This helps with lag how? In addition, you can use value objects instead of RemoteEvents? How does the author think ROBLOX works? It's still going to be Server -> Clients. Value objects are not magic. I doubt there's any noticeable difference between the two. Not to mention the author doesn't know what he's talking about. You CAN'T write to ReplicatedStorage on the client, only read from it.
"ROBLOX has very good new methods on lag/latency removal, such as LoD. ROBLOX is making new breakthroughs all the time when it comes to the removal of lag."
This is total filler. First we were talking about network latency with absolutely no mention of lag in the game, and now we just switch topics?
Not to mention in his article he also doesn't properly wait for the character to be loaded.
His article explains things poorly, is full of errors, and appears to be written in five minutes.
|
|
|
| Report Abuse |
|
|
Everoso
|
  |
| Joined: 26 Jul 2016 |
| Total Posts: 189 |
|
|
| 29 Jul 2016 01:50 AM |
Also, there's no mention of things such as transparent parts or inefficient wait usage or anything substantial.
|
|
|
| Report Abuse |
|
|
arthas045
|
  |
| Joined: 07 May 2014 |
| Total Posts: 296 |
|
| |
|
Everoso
|
  |
| Joined: 26 Jul 2016 |
| Total Posts: 189 |
|
|
| 29 Jul 2016 02:05 AM |
I can't post a link because it's off-site and I don't want moderation action on my account, but if you Google "roblox lag removal scripting helpers" it is the first thing that comes up.
|
|
|
| Report Abuse |
|
|
Everoso
|
  |
| Joined: 26 Jul 2016 |
| Total Posts: 189 |
|
|
| 29 Jul 2016 02:06 AM |
And in case anyone here doesn't want the link, here's a copy paste:
The question that has been asked countless times. We've all heard and asked before "How do I remove lag from my game?" It has also been the subject of many questions on Scripting Helpers. So how do we answer it?
What NOT to use
Let's kick this off by telling you that what you absolutely don't need to use: Lag removal scripts. When found in free models, these can be obtrusive and also could even cause lag.
That said, let's begin.
Might not be lag
There are 2 different types of 'lag' — lag and latency. Lag is created by the client. This includes multiple processes going on locally at once. However, latency is caused by the server doing too much or handling too much at once. Because latency is server-wide, this will affect all clients in a negative way.
How do I remove lag?
There are multiple methods for removing client lag. One of the best is a ROBLOX feature — Part Streaming. Enable it by changing a value in game.Workspace, StreamingEnabled, to true. Basically, this adds a render distance to your player; if a part comes out of range, the part will be non-existent to the client. Beware, though, this can cause problems with LocalScripts searching for far-off parts. These parts will not exist, causing an error unless trying to find a part using WaitForChild.
Another great method is creating your own render distance script that parents objects somewhere where they aren't taking up as much storage. Here's an example:
01 while wait(10) do 02 03 local torso=game.Players.LocalPlayer.Character:WaitForChild("Torso") 04 05 for i,item in pairs(game.Workspace:GetChildren()) do 06 if item:IsA("BasePart") and (torso.Position-item.Position).magnitude>500 then 07 item.Parent=script 08 end 09 end 10 11 for j,item in pairs(script:GetChildren()) do 12 if (torso.Position-item.Position).magnitude<500 then 13 item.Parent=workspace 14 end 15 end 16 17 end This removes parts from the workspace that are too far away to be interacted with. Used in part with part streaming, this can be extremely useful!
*Please note this script only works properly when FilteringEnabled is set to true (read here for more info)
How do I remove latency?
Now, ROBLOX may have some nice lag removal methods, but server latency is a little different. There are some more long-term commitments that can make your game faster.
#1: Use less ServerScripts ServerScripts are the leading cause of latency. Overusing them can make your game run slower. Using ServerScripts in any of the following ways (and more) will cause latency in your game.
• Cloning one part or model containing a ServerScript with an infinite loop inside it • Using ServerScripts to do things ROBLOX's physics engine can do (Such as Rotating parts constantly)
Now, you can fix this by using one ServerScript to handle multiple objects at once or using ROBLOX's physics engine when possible.
#2: Use less RemoteEvents
If you're using Network Filtering, chances are you're using RemoteEvents to communicate with the server. Though this is a very relevant way, this causes latency when used moderately enough.
You can make RemoteEvents less stressful on the server by doing the following:
• Use one RemoteEvent for different purposes. Some people will use one event to contact the server, another one to contact the client, then ANOTHER one to connect the client again. You could do this all in one event if you used a parameter that had an ID telling the server and client when to react.
• Make use of ReplicatedStorage. In ReplicatedStorage, both the server and clients can read/write. You can make use of this by using values instead of Remote Events. This is safest with dispensable values, such as messagebox GUIs. However, values such as scoreboards can be dangerous. Exploiters have direct access to ReplicatedStorage, which means you don't want to store any important values inside.
ROBLOX has very good new methods on lag/latency removal, such as LoD. ROBLOX is making new breakthroughs all the time when it comes to the removal of lag.
Have any more lag removal tips? Post them in the comments for other people to read!
|
|
|
| Report Abuse |
|
|
|
| 29 Jul 2016 02:06 AM |
I learned NOTHING about that article.
And yes. Let's tell the wiki mods how to improve it. |
|
|
| Report Abuse |
|
|
Everoso
|
  |
| Joined: 26 Jul 2016 |
| Total Posts: 189 |
|
|
| 29 Jul 2016 02:11 AM |
I think the website is more or less a bad idea and a failure, though they have very well-written, informative, good articles on their blog (excluding this one) that I would love to see on the Wiki.
Nobody uses Scripting Helpers (the website), the actual community of Scripting Helpers (the subforum) is here and everyone gets help here.
|
|
|
| Report Abuse |
|
|
chimmihc
|
  |
| Joined: 01 Sep 2014 |
| Total Posts: 17143 |
|
|
| 29 Jul 2016 02:34 AM |
"You CAN'T write to ReplicatedStorage on the client, only read from it."
That simply isn't true. That "the client can't write to x" stuff is nonsense spread by idiots.
Nothing is preventing the client from changing anything, it simply won't replicate to the server. |
|
|
| Report Abuse |
|
|
arthas045
|
  |
| Joined: 07 May 2014 |
| Total Posts: 296 |
|
|
| 29 Jul 2016 02:35 AM |
| Just read it, what a bunch of complete BS. |
|
|
| Report Abuse |
|
|
Everoso
|
  |
| Joined: 26 Jul 2016 |
| Total Posts: 189 |
|
|
| 29 Jul 2016 02:37 AM |
Bad phrasing: It won't replicate with FE. But my point still stands though terribly phrased.
|
|
|
| Report Abuse |
|
|
|
| 29 Jul 2016 05:29 AM |
Overreacting much, dude? ^-^' This isn't what I needed to start out my day.
|
|
|
| Report Abuse |
|
|
Everoso
|
  |
| Joined: 26 Jul 2016 |
| Total Posts: 189 |
|
|
| 29 Jul 2016 05:31 AM |
How did I over-react? I'm not personally insulting you at all, I am critiquing the article, and everything on here seems to be fair criticism.
When posting to such a website centered around scripting, it matters the quality of the content posted.
|
|
|
| Report Abuse |
|
|
|
| 29 Jul 2016 05:36 AM |
""You CAN'T write to ReplicatedStorage on the client, only read from it."
That simply isn't true. That "the client can't write to x" stuff is nonsense spread by idiots.
Nothing is preventing the client from changing anything, it simply won't replicate to the server."
I don't agree with this. The client may be allowed to change values in ReplicatedStorage, but the server won't give a darn. Nothing changes except objects appearing in the client. This could possibly break the game for the client, nothing else.w
Proud owner of -R$37 robux |
|
|
| Report Abuse |
|
|
|
| 29 Jul 2016 07:39 AM |
| You cant remove lag with a script... |
|
|
| Report Abuse |
|
|
eLunate
|
  |
| Joined: 29 Jul 2014 |
| Total Posts: 13268 |
|
|
| 29 Jul 2016 08:24 AM |
Let's clear something up.
"RemoteEvents cause lag" Do you have any tangible evidence that RemoteEvents inherently cause lag? No, you don't. If anything, RemoteEvents should reduce lag if used properly to delegate to the client. If they inherently increase lag, Roblox seriously needs to work out what they're doing.
"Use one RemoteEvent for different things" No. No no no. Infer as much as possible. Every single RemoteEvent has to send the GUID for the RemoteEvent either way; make a ton, and infer as much data as you can.
"Make use of ReplicatedStorage" Why? If you have to replicate it, it's going over the network. If you're using FE, it can replicate both directions. You can read and write to ReplicatedStorage. If anything, use ServerStorage. |
|
|
| Report Abuse |
|
|
darthpyro
|
  |
| Joined: 18 Aug 2009 |
| Total Posts: 3569 |
|
|
| 29 Jul 2016 08:55 AM |
| I avoid Scripting Helpers because they won't allow me access to their content without registering. |
|
|
| Report Abuse |
|
|