I know optimization is pretty much being necroposted here, But I’d like to mention how your FPS becomes, well, FPS.
Now, now I’m not saying 4.0 is laggy (it might but less likely), but what If it was?
I recommend you read on how you render and stuff, what are vertices and such.
Your CPU is the one that tells the GPU what to render, so basically the CPU is the one with ideas, and the GPU is the one who draws it, so they all work hand in hand to render your scene.
Culling is where specific vertices are not being rendered, Makes sense that more lowpoly simplicity less lag or looking at nothing (at the sky in example) makes your fps increase. though this is not particularly correct, It will be still laggy because the CPU will still have to calculate what to cull.
Now, how do you optimize your game? My first solution is LODs, What are LODs? an LOD stands for Level of detail, now what does it do? an LOD is an object that has a lower number of tris in a longer distance, It’s faraway that you cannot tell right away that It became so low poly. If you make a small game (Like those scenes where it’s just 300 meters cubed), With lod or not will not make that much of a difference, But larger maps, like russia in the game we love, It is very important for optimization. Second solution, Is to disable meshes out of view, Though It is culled, It still has a minute decrease on your performance, considering it still has to be calculated, One disadvantage of disabling culled meshes is that lighting glitches occour, In example, A shadow is casted by an object at the very side of your screen, when it is culled the shadow just, Disappears, especially if the shadow caster is very tall like the crane in Seattle.
Some other laggy reasons in 3.0 is the loading system, A lot of people argue about this, some people saying Unity is the reason, some people blaming Unturned, and some others are really nonsense answers, Like a guy thought the loading was some premade Unity asset thing, But straight to the point, 3.0’s loading system basically instantiates/spawns the assets out of view, and duplicating it when it’s needed, This is really why Unturned uses all your ram when Unity enforces 2gb ram usage, This is also why it takes about a minute for the lag to subside even after closing Unturned.
I am really sorry for my grammar because English isn’t my first language
And the reason why I used “an” for a consonant is because I’m basing it on the sound of the word (el - o - dee)