Is there any way to configure my supercomputer for better performance?

Started by anotherrimworld, August 24, 2017, 10:49:24 AM

Previous topic - Next topic

anotherrimworld

Just as the title says. My powerful computer is going to waste. What the hell can i do to fulfill my dream of running a multi-colony empire when even 2 colonies can slow the game to the point of being unplayable?

Bozobub

The game is pretty much locked to one core.  More cores doesn't do much at all.  Similarly, the game is CPU-bound, not GPU-bound.

Want better performance?  If the various mods (that trim World Data) fail you, shut down every other possible program, try overclocking, and/or buy a better per-core performance CPU.  Sorry, that's about it.
Thanks, belgord!

XeoNovaDan

If I remember correctly, Tynan himself stated that multi-colonies aren't actually officially supported in regards to performance. Additionally, the multi-colony feature was only added because it'd be a highly-requested feature if it wasn't, and due to the dramatic world overhaul made in Alpha 16 anyway. That's also why there's a disclaimer saying that the game's not balanced around multiple colonies, and the setting defaults to only having 1 colony.

In terms of general performance limitations, exactly what Bozobulb said: RimWorld is a single-core game. Apparently it's extremely complicated to properly implement multi-threading too; so complicated to the point that it's basically just better to optimise the code to make the most out of the 1 CPU core that it runs on.

That being said though, I'm not entirely sure how RimWorld plays out with hyper-threaded/SMT CPUs; my CPU's a core i7, and I see that RimWorld can use up to around 20-25% of my CPU when under heavy load. This is implying that both threads of one core are somehow being utilised - but I could also just be spouting crazy nonsense here.

Bozobub

I have an i7 with HT I can't turn off (a HUGE annoyance btw); you may be seeing an artifact of Intel's "SpeedBoost.  Essentially, active cores can "steal" GHz from inactive ones, most especially the "logical" cores created by Hyperthreading.  In other words, one of the logical cores can take up (nearly) all of the actual GHz rating for its physical core, even though it's rated at exactly half of the physical core's speed, in addition to the more "traditional" usage of Speedboost, which also accelerates *physical cores* when other physical cores are underutilized.  In other words, your usage of 20-25% of your ACTUAL capacity makes perfect sense; one physical core is nearly 100% utilized.

Tl;dr?  "Speedboost" lets a single logical core run significantly faster than you might otherwise expect on Hyperthreaded i7s; it doesn't just affect physical cores.  Hyperthreading is still crap for most purposes, mind you, but this does help somewhat.
Thanks, belgord!

Lupin III

I agree. Performance is the main reason I stop playing the game, not boredom. Once in a while I start a new colony, play a few days, but then drop it, because it stops being playable at a reasonable speed. Doesn't even have to be multiple colonies. If there's a raid or sometimes even just a trade caravan coming in, the game gets so laggy that for example pretty much the only way to reliably select things is pausing the game prior to that. All while 3 cores of my CPU are idling along.
I really love the game concept and the way it's implemented, but the fact that it can't make use of pretty much the main advancement in CPU developments of the last decade bugs me. Maybe I'm just picky, but when I look at a game like Cities Skylines for example, that runs much smoother while at least appearing to be more complex, it's hard for me to recommend RW to someone until this changes.

Nameless

The RuntimeGC mod is pretty much required to run a big colony with many colonist. Even then it can only do so much until it starts to become unplayable.

I have to restrict myself to about 20 colonist max which is sad. Usually at that point i will just start a new colony.

makkenhoff

I don't really have this sort of problem, but I'll add a few things that may help someone looking at the thread. Vanilla Rimworld's storytellers "cap out" at 18 for cassandra, Phoebe at 18, and Randy at 50. So, if you are having problems at a certain point of population, as Nameless suggested he has, the easiest solution to that specific problem is to edit Randy's storytelling properties.

<StorytellerDef ParentName="BaseStoryteller">
<defName>Randy</defName>
    <label>Randy Random</label>
<description>Randy doesn't follow rules. He'll generate random events, and he doesn't care if they make a story of triumph or utter hopelessness. It's all drama to him.</description>
    <portraitLarge>UI/HeroArt/Storytellers/RandyRandom</portraitLarge>
    <portraitTiny>UI/HeroArt/Storytellers/RandyRandomTiny</portraitTiny>
    <listOrder>40</listOrder>
<populationIntentFromPopCurve>
<points>
<li>0, 8</li>
<li>1, 4</li>
<li>5, 1</li>
<li>9, 0.5</li>
<li>13, 0</li>
<li>50, -1</li>
</points>
The last line, <li>50, -1</li> you can edit to a number "before" the problem happens. Say you notice it normally around 19, then set it to 19. The actual folder location will vary based on where you installed your game. Generally, the location is \RimWorld\Mods\Core\Defs\Storyteller\Storytellers.xml but your installation may vary. (For Steam users using default library settings it is C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\Core\Defs\Storyteller\Storytellers.xml)

Other options exist, such as mods that reduce item types, such as "WM Too Many Leathers". But it is important to note, that every sandbox game I can think of has this issue. At some point, the player will ALWAYS grow beyond the confines of the program's established limits, those limits are established to prevent a player from 'accidentally' breaking their game. When you enable that second colony, you are accepting that risk.  Anything beyond default settings you run the risk of making your game unplayable, or at least slower than it would otherwise be.