RimWorld

RimWorld

Mr. Exter Mar 14, 2024 @ 4:09am
Question for the 1.5 update regarding performance
I am not really deep into hardware use but I know that as of now, Rimworld does not use multi-threading. What do they mean with the characters going to be rendered in parallel in another thread? Will this have a positive impact on performance? This can't be multi-threading, right?
< >
Showing 1-15 of 19 comments
Chalchiutlicue Mar 14, 2024 @ 4:11am 
It's multithreading for the drawning of living entities.
I hope it's only the first step and they multithread more of the game.
Mr. Exter Mar 14, 2024 @ 4:12am 
Originally posted by Chalchiutlicue:
It's multithreading for the drawning of living entities.
I hope it's only the first step and they multithread more of the game.
How big of an impact will it have for let's say a big colony of 50 people?
Chalchiutlicue Mar 14, 2024 @ 4:13am 
I never reached that far in this game.
But it's only the drawing, not the AI, etc.
Mr. Exter Mar 14, 2024 @ 4:15am 
Originally posted by Chalchiutlicue:
I never reached that far in this game.
But it's only the drawing, not the AI, etc.
Oh I see. The drawing itself is not that resource intensive (unless you use facial animations I guess). Hopefully we'll get AI in another thread in hmmmmmm 18 months
whatamidoing Mar 14, 2024 @ 5:18am 
You know wrong. Rimworld has already been multithreaded, for a long time.
The Blind One (Banned) Mar 14, 2024 @ 5:24am 
Originally posted by whatamidoing:
You know wrong. Rimworld has already been multithreaded, for a long time.

I mean yes ... but also no?

If 80% is on one thread and the other remaining 20% is on a second thread, is that really multi threading? I mean yes but also no ... because when we imagine someone saying multithreaded, they're really imagining like 20% of stuff on thread 1, 20% of stuff on thread 2, etc.
Chalchiutlicue Mar 14, 2024 @ 5:34am 
Originally posted by The Blind One:
Originally posted by whatamidoing:
You know wrong. Rimworld has already been multithreaded, for a long time.

I mean yes ... but also no?

If 80% is on one thread and the other remaining 20% is on a second thread, is that really multi threading? I mean yes but also no ... because when we imagine someone saying multithreaded, they're really imagining like 20% of stuff on thread 1, 20% of stuff on thread 2, etc.

If I google if Rimworld is multithreaded I get results like this where people say that Rimworld lacks multithreading.
https://www.reddit.com/r/RimWorld/comments/18918xd/rimworld_desperately_needs_multithreading/
Chalchiutlicue Mar 14, 2024 @ 5:35am 
There is also this Workshop item to add multithreading in Rimworld.
https://steamcommunity.com/sharedfiles/filedetails/?id=2222907981&searchtext=Rimthreaded
According to them it greatly increases the performance.
whatamidoing Mar 14, 2024 @ 5:59am 
Originally posted by The Blind One:
Originally posted by whatamidoing:
You know wrong. Rimworld has already been multithreaded, for a long time.

I mean yes ... but also no?

If 80% is on one thread and the other remaining 20% is on a second thread, is that really multi threading? I mean yes but also no ... because when we imagine someone saying multithreaded, they're really imagining like 20% of stuff on thread 1, 20% of stuff on thread 2, etc.


Originally posted by Chalchiutlicue:
Originally posted by The Blind One:

I mean yes ... but also no?

If 80% is on one thread and the other remaining 20% is on a second thread, is that really multi threading? I mean yes but also no ... because when we imagine someone saying multithreaded, they're really imagining like 20% of stuff on thread 1, 20% of stuff on thread 2, etc.

If I google if Rimworld is multithreaded I get results like this where people say that Rimworld lacks multithreading.
https://www.reddit.com/r/RimWorld/comments/18918xd/rimworld_desperately_needs_multithreading/
Yes, people don't understand multithreading. You can say you want more to be threaded, but you're never going to get an even utilization of all cores. Many things in a game like this need to be done in sequence, which is why it's pawn rendering getting threaded this time and not, for example, pawn ai.
Chalchiutlicue Mar 14, 2024 @ 6:09am 
Originally posted by whatamidoing:
Originally posted by The Blind One:

I mean yes ... but also no?

If 80% is on one thread and the other remaining 20% is on a second thread, is that really multi threading? I mean yes but also no ... because when we imagine someone saying multithreaded, they're really imagining like 20% of stuff on thread 1, 20% of stuff on thread 2, etc.


Originally posted by Chalchiutlicue:

If I google if Rimworld is multithreaded I get results like this where people say that Rimworld lacks multithreading.
https://www.reddit.com/r/RimWorld/comments/18918xd/rimworld_desperately_needs_multithreading/
Yes, people don't understand multithreading. You can say you want more to be threaded, but you're never going to get an even utilization of all cores. Many things in a game like this need to be done in sequence, which is why it's pawn rendering getting threaded this time and not, for example, pawn ai.

I need a source where the developers say they introduced multithreading.

Btw. as a Software Engineer I can promise you that we can multithread much stuff.
Some stuff is also even faster if we offload it on our GPU's to run in parallel.

It just needs a bit more thinking about thread synchronisation, preventing thread starvation and probably switch to a better programming language / framework.

An example for the latter would be that it's far easier to write multithreading code in kotlin than in java.
Astasia Mar 14, 2024 @ 6:18am 
Originally posted by Chalchiutlicue:
I need a source where the developers say they introduced multithreading.

it's always been multithreaded to some degree, it's Unity. AFAIK sound and UI have always been threaded. New things have been threaded over the years as needed. The mote system was threaded in 1.3, character rendering in 1.5, these are both in update notes. Some degree of threading was added to mod loading during one or two updates, I don't recall which ones. I believe some element of plant ticks were threaded in 1.4 which caused a huge number of issues with plants for a while but that wasn't documented.
whatamidoing Mar 14, 2024 @ 6:25am 
Originally posted by Chalchiutlicue:
Originally posted by whatamidoing:



Yes, people don't understand multithreading. You can say you want more to be threaded, but you're never going to get an even utilization of all cores. Many things in a game like this need to be done in sequence, which is why it's pawn rendering getting threaded this time and not, for example, pawn ai.

I need a source where the developers say they introduced multithreading.

Btw. as a Software Engineer I can promise you that we can multithread much stuff.
Some stuff is also even faster if we offload it on our GPU's to run in parallel.

It just needs a bit more thinking about thread synchronisation, preventing thread starvation and probably switch to a better programming language / framework.

An example for the latter would be that it's far easier to write multithreading code in kotlin than in java.
What do you mean, "a source where the developers say they introduced multithreading?" I don't think there's any statement like that because that says basically nothing. You can run it and analyze the process, it's multithreaded. The 1.5 announcement doesn't make a huge deal about multithreading in the part where it talks about putting pawn rendering on a separate thread, because it's been multithreaded for a long time.
Rimworld is as easily moddable as it is because it's in pretty, unobfuscated, freely-decompilable C# and using Unity. I don't see that changing.
Mr. Exter Mar 14, 2024 @ 6:06pm 
Originally posted by whatamidoing:
You know wrong. Rimworld has already been multithreaded, for a long time.
i have seen some things about it but most of the time it was not what I envisioned about "multi-threading". I thought it would allow me to use all of my threads (I have a Ryzen 7)
ignis Mar 14, 2024 @ 6:19pm 
Originally posted by Mr.Exterminatus:
Originally posted by Chalchiutlicue:
It's multithreading for the drawning of living entities.
I hope it's only the first step and they multithread more of the game.
How big of an impact will it have for let's say a big colony of 50 people?
No impact at all. Bottleneck is in AI and pawn/world ticks, which are entirely single-threaded. Making them multi-threaded would require rewriting half of the game to handle possible race conditions and deadlocks.
whatamidoing Mar 14, 2024 @ 6:55pm 
Originally posted by Mr.Exterminatus:
Originally posted by whatamidoing:
You know wrong. Rimworld has already been multithreaded, for a long time.
i have seen some things about it but most of the time it was not what I envisioned about "multi-threading". I thought it would allow me to use all of my threads (I have a Ryzen 7)
Yeah, that's simply not how multithreading works with programs that need a lot of calculations done sequentially.
< >
Showing 1-15 of 19 comments
Per page: 1530 50

Date Posted: Mar 14, 2024 @ 4:09am
Posts: 19