If I’m thinking about streaming right, only parts within the streaming radius of the player are available to them, and things are getting dynamically streamed in and out. So, technically, wouldn’t this mean part counts wouldn’t really matter (or at least have less impact), since only a certain amount of them are available to the client at one time? If you had 20,000 parts evenly spread out over a 2000 x 2000 map, and 10,000 parts evenly spread out over another 2000 x 2000 map, and you’re only able to see the parts within 900 studs from you, wouldn’t the performance generally be the same clientside? I say evenly because obviously the concentration of parts in different areas would affect performance. Only difference I think it would have is server stress (because the server sees everything, right?). Feel free to correct me and explain, I’m just curious.
It should only effect client side. Other players arent forced to stream, the only stream would be that player. But indeed streaming will cause lag for that one player.
You can detect when a player is streaming using scripts so should you want to add a
‘I dont want to be on their stream button’ or reduce their render distance, you can.
Sorry, but this didn’t really answer my question. My question was if part counts mattered with StreamingEnabled on the client, and if it doesn’t, to explain why.
Also how does streaming cause lag? It’s done nothing but greatly improve performance, and is so worth it especially since my game is an open-world game. Really all I needed to learn was how to code around it and it was easy from there.
Then you should have actually said that then. you set it all on studio. If theres a ton of parts being loaded in it could lag.
My question is literally the name of the topic…? Also what you said is obvious, I’m just asking whether part counts matter since a client is only going to have a certain amount of them available at once. I’m not asking how to use StreamingEnabled or how it generally works…
StreamingEnabled simply “deletes” any parts that are further the distance you put in there, but as you noticed, I quoted it because it doesnt really delete it.
It simply removes the part in the client side, keeps it in the server side without replicating to the client, replicates back if the player distance between the part is lower than the said one.
Soo this would increase performance due to not needing to stream parts that are further than the player, of course there is a “StreamingMesh” option on meshes or something like that where it makes so the thing you put the option will not “be removed” from the client.
However, since the part is removed from the client then if you have a code in the client that includes parts like that and has streaming enabled active then you should simply make checks on your code, or use any methods so the code doesnt error.
The part count with streaming enabled only matters if:
1: The part count is so much that the server can’t handle it, not the client but the server.
2: The map being small at a point that streaming enabled has no effect (depinding on the radius you have set it to) and there having lots of parts.
I assume that with this question you want to know if you could insert an theoretical endless amount of parts.
If the parts are static and are not interacted with they are very lightweight but the server still needs to put the data of these parts in it’s memory, the server memory is I suppose what you could call the limit on how many parts you could have in a place. On the client side, with this streaming service you can dynamically load and unload assets in the radius of the character which saves computer resources for the client, but not the server.
So what I said was correct, right?
Like I said before:
Say we have two 2,000 x 2,000 maps. One has 10k parts and another has 20k. The streaming radius is 950, and you’re standing in a location where 3k parts are inside the streaming radius on both maps. In both games, that would mean the actual part count for the clients are about the same, and since they have the exact same parts available to them, the performance would be the same, even though the maps have different total part counts?
No no no. Of course not, I’m just asking if part counts matter as much as they do without streaming. This is obvious. I’m just asking to better understand client memory usage. I already clarified that ofc the server would have more memory since the server sees every part
Yes the performance would be the “same”, except that the server for the game that has 20k parts will have more trouble than the 10k parts server to handle them.
But clients wouldn’t have so much lag after all, the performance for THE CLIENT would be the same.
Yup yup, I know that part. Anyways, thanks for the clarification!
Do keep in mind that the server still is affected by what goes on outside of the streaming radius. If the server it’s resources run out this will in turn affect the client since if the server is overloaded the client would need to wait for the server.
In your scenario of the the two 2k x 2k maps the performance for the client would indeed be the same if that would be the ONLY client in the game. If there were more clients or other systems interacting with the map the real world results would be different.