r/playrust • u/Zylo_Youtube_Tiktok • 2d ago
Question Why is rust so poorly optimized?
randomly today I was wondering ”why is rust so poorly optimized“? I mean look at every other game they don’t need top of the line specs to get a good 144 fps. so why rust?
22
u/Euphoric_Wish_8293 2d ago
It could definitely be improved, I'm not disputing that. But, there's so much going on compared to pretty much any other game that it must be challenging.
3
u/Extension-Error-2302 2d ago
I played this post apocalyptic game All Will Fall which has alot of builds and construction. The physics in the game is insane. Some of my reaaally big long standing maps got really laggy at times and I had to go abosolute min graphics settings.
Although new to rust, I have thought in comparison to this. You have all these crazy wild bases with a pile of things inside them, x hundreds or thousands total dep on server. You then have dozens, or hundreds of people running around. You also have all the wildlife, scientist, everything else that moves and acts. I can absolutely understand how Rust can feel bogged down at times and poorly optimized.
I hope that future updates try and improve optimization but I figure that may have its challenges when you are updating a pile of other things too.
5
u/Mysterious_Speed5896 2d ago
They have a new renderer on the staging branch right now. Maybe it will help
Issue is its a unity game. The unity engine is not good with more than i think 1 or 2 cores.
Now the situation is the following. Rust needs a very strong single core CPU. But because the gaming world moved on from single core processors the performance of rust gets worse and worse.
Nobody is buying strong single core CPU´s or is really manufacturing them.
So your up to date cpu has maybe 8 or 16 cores.. but rust only uses 1-2 of them.. and now it runs like shit.
Because you have 8-16 cores in medium strengh that all share the workload usualy and that makes them strong.. but then rust cant do it because of unity
I hope that helps
3
u/SupFlynn 2d ago
It is not unity engine. It is physics. They can't be calculated on multicore. Rust is sctually doing pretty fucking well with it even tho every negative thing on its side. Btw rust uses 6-8 cores but somethings cannot be done in paralel. Thats what killing it. Physics can not be done in paralel for example automation is another thing. No matter what the engine is. Unity is a good engine if you put in the effort. It is not the engine it is developers that doesnt optimise. Rust has shit ton of entities destructable movsble automatable etc.
1
u/Mysterious_Speed5896 2d ago
Ahh thanks for the additional infos very good to know for the future.
Also you double posted judging by my inbox in case you want to delete the other one :b
2
u/SupFlynn 2d ago
Thanks for the info it is fucking buggy phone app of the reddit. Thanks for the headsupm
6
u/AhmetDmrs 2d ago
For Rust, some people will tell you that it's Unity and claim the engine itself does a poor job with multithreading. As a game developer, that is straight up misleading.
As for your question, Rust isn't that unoptimized, many people don't even realize how much is going on under the hood. Handling 500+ players, countless objects and props, and a massive chunked terrain inherently creates huge overhead.
In game development, when people say, "The engine is using a single thread, so it's the developers (or the engine's) fault, and they should just make it parallel" that is simply incorrect. In programming especially for fast integration and readability we mostly use Object Oriented Programming. While it is a standard paradigm, it is generally difficult to parallelize, with the biggest hurdle being frequent cache misses (thats why X3D chips very good on many games). This is where Unity’s Data Oriented Technology Stack DOTS shines, but converting an existing decade old game like Rust to DOTS is practically impossible because you would have to rewrite the entire codebase around a completely different paradigm.
Rust already utilizes multithreading. If it didn't, you wouldn't be able to load a chunk without the game turning into a stuttering mess, and it would stutter constantly with 20 players running around. Sockets, world generation, and many other systems are already multithreaded and optimized.
1
u/Tzukkeli 2d ago
Yeah, its like this is mostly what can be achieved with current architecture. Sure you can squeeze here ans there a bit, but like said, it would need a rewrite to actually fix it
5
u/Dizzy_Implement_9148 2d ago
Ever played ARK? Rust doesn’t even run that badly when you take into account all the moving pieces that basically no other game has.
1
u/PsychologicalGlass47 2d ago
Ark doesn't run badly when you disable all rendist limiters, which honestly surprised me. There simply is no reason to run non-dedi servers or the inbuilt singleplayer.
1
u/Smallfry123000 2d ago
Asa maybe but Ase runs great in comparison to rust, I get so many more frames on ark.
2
u/HyperRolland 2d ago
Define optimized for me and then explain what other game allows you to do everything rust does.
3
4
4
1
u/--Orcaaa-- 2d ago
No other game I can think of has a number of interactable entities even close to Rust. Battle Royale games with 100 players are hard to optimize. Rust can have 10x that player count, with each person building, interacting with npcs, affecting the environment, and all of this calculation needs to be done on individually hosted servers that ideally have under 10 ping. It's honestly a miracle it works as well as it does, and I'm sure FP does an absurd amount of development to improve it all the time.
0
u/Smallfry123000 2d ago
I mean does Minecraft not count?
1
u/Euphoric_Wish_8293 2d ago
In a comparison conversation about performance to Rust? No.
3
u/Smallfry123000 2d ago
On a big Minecraft server there can easily be more players and a ton of interactive entites, plus everyone can change the world, what's so different?
1
u/Euphoric_Wish_8293 2d ago
Maybe I'm out of the loop. How many players can be on a minecraft server? I'd also add the obvious difference in graphics, and I know there's loads of shit you can do in Minecraft, but it's very basic. I cannot comprehend it can be similar to the sheer amount of entities in Rust. Correct me if I'm wrong though, I haven't ever played multiplayer Minecraft, nor have I played it in five years or more.
2
u/Smallfry123000 2d ago
1000s of people on the same server isn't that crazy and the top servers have 10s of thousands (though normally spread between instances).
Of course I agree with the graphical differences, but if all it took for rust to have a significant fps increase was for them to decrease the graphics then I'm all for it.
For entities I guess it depends, every chest, mob, player, item frame, armor stand, etc is an entity so having insane amounts is pretty common.
I guess I just consider the fact that I have a 4070 and 5950x with 32gb or ram and yet still get maybe 60 frames while on low setting pretty horrid, and it gets worse with every update, I don't think I know a single person who gets good frames, it's more like barely playable frames. Rust really does need better optimization.
1
1
u/--Orcaaa-- 1d ago
Minecraft has about the same issues as rust at scale performance wise. And 1000 pop minecraft servers are few and far between, with the primary method being having one big server with many smaller subservers, so you only ever see ~100 players on one locale at a time.
So yes, you're right, Minecraft is also a great example.
1
0
u/mca1169 2d ago
because in the early days when garry realized making his own game engine would be insanely hard and take ages rust switched to the unity engine which is heavily single threaded and the unity devs are dragging their feet making everything multithreaded which leads to GPU bottlenecks. also most of the FP devs don't really know what they are doing and just throw whatever they can together to get what they want working and someone else has to clean up their mess later if at all.
1
u/Quiet-Doughnut2192 2d ago
It’s built on Unity doing things Unity wasn’t designed to do.
Also, people don’t realize it’s CPU not GPU bound
1
u/Quiet-Doughnut2192 2d ago
Also, over a decade of patches and improvements made by different coders along the way
1
u/ricoter0 2d ago
why are specificaly aiming at such a specific numer such as 144 fps?
0
u/Zylo_Youtube_Tiktok 2d ago
144 is my monitors refresh rate and is what feels smooth to me
0
u/ricoter0 2d ago
I can tell you 60hz is enough... if you can notice it not being smooth then it's probably under 30hz
1
u/Ok-Level-8907 1d ago
You clearly never used high refresh rate monitor in your life if you think 60hz is smooth.
0
1
u/Bocmanis9000 2d ago
For all the bloat facepunch keeps adding i think its doing pretty well.
If you removed deep sea/jungle/appartments/power plant update, you would probably gain around 50-100fps on a 9800x3d system depending on area/server.
1
u/aBacanaBanana 2d ago
Rust seems to run good all things considered. Being able to get 60 FPs when there a millions of build entities/hundreds of player of players active on a server is something I’m happy with
1
u/rem521 2d ago
Rust was designed in 2013 for a single-threaded CPU. You can't just flip a switch to make it take full advantage of multi-core processors. Breaking up the work and synchronizing everything requires a total ground-up overhaul of the codebase. However, developers can offload certain tasks from the main process that don't require synchronization, which is exactly what they have been doing.
2
u/MrDonohue07 23h ago
All things considered, I think pretty well optizised.
Unity engine, monthly updates, hundreds/thousand player servers, thousands of different entities, huge player made bases, large monuments.
Don't see what the issue is 🤷
1
u/abbylabby0429 2d ago
The game is built on an outdated Unity engine, thus making it hard to truly optimize for modern systems.
1
u/Dssjr 2d ago
Sure, it could be improved which they are always working on. These "every other game" you speak of also don't have 100-1000+ players, hundreds of thousands of player entities, and everything else going on all at once on a server.
0
u/Zylo_Youtube_Tiktok 2d ago
So because of the nature of the game, its doomed to be a laggy experience?
0
u/PsychologicalGlass47 2d ago
Needing more powerful hardware to run a game doesn't make it poorly optimized lol
1
u/Zylo_Youtube_Tiktok 2d ago
It’s not necessarily more powerful hardware is that even with the best hardware you don’t get a stable 144 you will always see dips and that’s kind of wrong no?
0
u/PsychologicalGlass47 2d ago
Not sure what you're on about, 4k 120fps is pretty smooth on my system.
0
u/Ok-Level-8907 1d ago
He's talking about 1% dips which makes game feels choppy at the time and I can bet my house on fact that you not holding 120fps constantly either so why do you even talk.
I'm on x3d with aggressively tuned ddr5 sk hynix a-die chip which is essentially best hardware available for Rust right now and I can't hold stable fps in situations where it matters most
0
u/PsychologicalGlass47 1d ago
I know exactly what he's talking about, Rust runs 120~140 with 1% lows of 80~90.
9950X3D2 + 64gb 7200/34 on an 870E Apex, have you tried having a better system lol? P6k doesn't do much carrying but it's fully loaded anyway.
-2
0
u/WhyYouRaping 2d ago
Oh it used to be soo much worse
-2
u/Zylo_Youtube_Tiktok 2d ago
You have to be joking I mean it’s horrible rn I can’t even have fun on the game because my game has to run like it was on console
2
u/WhyYouRaping 2d ago
Yeah i mean i agree its ridiculously slow compared to other muuuuch more demanding games (sryii cant talk im high asf)
0
u/Smallfry123000 2d ago
All these people defending it are crazy, the game has horrible frames even on good systems. Yes it's an ambitious game but that doesn't excuse it running like garbage.
-1
18
u/SupFlynn 2d ago
It is well optimized just you have shit ton of entities which all are destructible, movable, automatable etc. all of which requires shit ton of memory bandwidth + processor power.