1
\$\begingroup\$

My current problem is with RimWorld, but in the past I had the same issue with Minecraft. Basically the game gets more fun with more mods, up until the point where performance becomes unmanageable. Most mods are open source and I am confident that I could fix many of these performance issues if I could only identify where the hotspots are.

So as a modder, how can I figure out where I should try and help out?

  • 200+ mods, though obviously I would add more if I could.
  • I don't have access to the core game source code.
  • I don't have access to a debug version of the core game.
  • I probably have source code access to a given mod.
  • I'm looking for ways to help the community, not ways to make the game faster for just me (like adding more memory).
\$\endgroup\$
0

2 Answers 2

4
\$\begingroup\$

The issue is often death of the thousand cuts, each mod has some overhead that you cannot get around from the mod-dev's side. This is not helped by the unofficial [redacted] contest of how many mods you are running pushing people into having mods installed that they don't use.

One of the things you can do to alleviate overhead is to consolidate mods into bigger utility mods that replace the smaller 1 block/function mods.

Sometimes mods just don't play well together. Some interaction between them causes them to require more processing than strictly needed. This can be very hard to track down and requires deep knowledge of the mods involved and how the modding architecture is set up. Fixing it will also require cooperation between the affected mod authors.

\$\endgroup\$
2
  • \$\begingroup\$ So how can I find these issues? \$\endgroup\$
    – Elil
    Jan 9, 2020 at 7:49
  • \$\begingroup\$ Hope the game has decent profiling debug interface and trial and error \$\endgroup\$ Jan 9, 2020 at 9:25
0
\$\begingroup\$

It looks like for Rimworld specifically there is an ongoing project to create a profiler mod:

https://github.com/Dubwise56/Dubs-Performance-Analyzer

From those diagnostics it looks like the performance issues I am seeing come from garbage collection (and so indirectly memory allocation).

In theory it would also be possible to get profiling info from the mono runtime but I haven't tried to get that to work.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .