the issue is when I set these tree models streaming behavior to atomic with Opportunistic streaming.
I get slow speeds in terms of it rendering in and out of the game even when I group the trees into chunks, I need to figure out a better way to stream in and out the map without causing lag or fps drops
How many Parts are in each tree?
How many trees are there?
Do you have CanTouch false in each tree Part? This would help the engine by making it ignore the calculations for the Touched property for each Part.
What happens when you reduce your StreamingEnabled distance(s)?
each tree has 5 parts and they are grouped together and they are optimized with disabling as much as I can do and setting the meshes collision to hull. but i think i will optimize the trees more by reducing part count and see if that works
I don’t quite know what streaming behavior is, but I can give some tip on how to optimize in general. you can create 3 extra tree models:
A lesser detailed model. (Less parts)
A even less detailed model, that is made of only 2 blocks or 3.
An imagelabel inside a billboardgui of a low quality image of the tree model. You can also use a decal in an invisible part instead.
These 3 variations can be displayed and replace the normal tree model at a set distance away from the player.
I also would recommend not doing this every renderstepped, and instead maybe every 8 seconds for PC users. For lower graphics you can set the rat" to 13 seconds and the distance a bit lower.
In general, you can exclude from streaming the trees that are in the foreground, and the trees that are in the background, put into streaming
Here in the screenshot I visualize
Red - Streaming
Blue - Not Streaming
Well, as the others wrote, you can try to optimize the trees themselves as much as possible, maybe remove them in some places.
Or in the end, this is the problem of streaming itself