While being an awesome cosy and immersive game, Starbound is known for its bad optimization. This project is aimed to solve those issues, because it is very unlikely that Chucklefish will ever do it themselves.

This patch does not solve all the problems at once, some stuttering is still occuring. At the moment of this writing at least a couple of decent oversights in Starbound rendering process are fixed, adding a good FPS boost in locations rich on different entities. See the demo.

Hope to add more optimizations over time.

Installation:

1) Dowload the latest starbound.exe from "files" section (currently only Windows 64 version is available). The title of the download looks like this: "starbound.exe (Windows, 1.4.4) - 0.1.0". "1.4.4" in parenthesis means what game version is patched, and "0.1.0" is the version of the patch itself.
2) Unzip it and place starbound.exe in your <Starbound>\win64 folder. Make sure to make a backup of a previous executable, as well as your player data just in case (<Starbound>\storage folder).
3) Launch the game as you normally do, either directly launching the executable, or from the launcher (Steam or whatever).

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

The problem is not exactly in CPU

There is a common belief that Starbound lacks performance because it does not utilize GPU-power, but instead does everything (or mostly everything) on the CPU. It turns out to be not true. Or better say, it's not necessarily true. Starbound still does a lot of computations on CPU, but it:

  1. is not the bottleneck
  2. is what every game does: no matter how powerful your GPU is at rendering things, the game still computes a lot on CPU. For example: collision checking and corresponding entity transformations.

In other words, the GPU is not a magic box that does all computations on its side. It does a huge amount of computations necessary for rendering, especially in 3D games of course. But things like positions/scales/rotations etc, which are needed not for rendering, but for game logic itself, are still done on the CPU (except for some cases when you could indeed utilize GPU in theory, but that is relatively rare), and that is usually not a problem.

As an indirect evidence of that, you can look at debug info in game to realise this:

not cpu bound

Here I took a screenshot in a quite intense scene. Update rate, which is essentially the amount of frames the CPU handles, is close to 60. But the render FPS barely reaches 30.

What's the problem then?

If it was some abstract/unknown game, one may have thought that the GPU is just too slow to render what it is asked. But when you know it's a graphically simple 2D-game, you understand that it just can't be true. And you will be right: the problem is not in the GPU. The problem lies in a non-efficient usage of GPU, or better say - non-efficient communication with GPU.

When it comes to rendering, no matter how powerful you GPU is, there is still a very important aspect of how do you ask it to render the things you want. How well it is prepared beforehand for doing this, etc. And that's where the Starbound performance issue is.

You can roughly compare it to a set of logistic tasks. Imagine you are doing deliveries, you have a courier, and you are most probably interested in doing as much deliveries as possible. Or at least 60 per day :) Ideally, you would like to give your courier a complete list of deliveries for this day, as well as the most optimal routes (the known travelling salesman problem). It is not always the case, but you would still want to give at least optimal batches of deliveries. Obviously, if you give the tasks in a non-efficient way, the courier will just spend a lot of time on overheads, like visiting neighboiring places multiple times, etc. Add to that some other factors (like, the courier needs different vehicles, and/or specific times to deliver), and the problem can become even worse. And istead of planned 60 or even 200 deliveries per day, they will do 30-40 at most, even if they are very fast by themselves and have the best vehicles in world.

Same happens with rendering. And that's what can be optimized in Starbound.

Add file RSS Files
starbound.exe (Windows 64, v1.4.4) - v0.1.2

starbound.exe (Windows 64, v1.4.4) - v0.1.2

Patch 2 comments

Patched Starbound for Windows. Removed some debug logging leftover.

starbound.exe (Windows 64, v1.4.4) - v0.1.1

starbound.exe (Windows 64, v1.4.4) - v0.1.1

Patch

Patched Starbound executable. This version contains fix Steam integration (mod loading)

starbound.exe (Windows 64, v1.4.4) - v0.1.0

starbound.exe (Windows 64, v1.4.4) - v0.1.0

Patch

Patched starbound executable for version 1.4.4, Windows 64.

Post comment Comments
splatgans
splatgans - - 1 comments

Hello, since it seems you have somewhat reverse engineered the game, can I ask if you can change update rate to match the framerate? So we don't get fps related slowdowns and can even use higher framerates without speedups?

Reply Good karma Bad karma+3 votes
pancake69
pancake69 - - 4 comments

Hey, I noticed some bugs while using mods, first bug is with CN More farming: When moving some workstations in inventory, like blenders, or ovens (i tried with primitive oven) game starts to freeze like crazy; Second bug is with Kitsune race: When creating new character, after completing tutorial mission, character becomes somewhat corrupted (what I mean is character hands and clothes not rendering correctly or not rendering at all). Draconis race also having same bug
P.S. Sorry for bad english, not my main language

Reply Good karma Bad karma+1 vote
MysteriousOptimizer Creator
MysteriousOptimizer - - 3 comments

Thanks for the feedback. I'll have a look soon.

Reply Good karma+1 vote
pancake69
pancake69 - - 4 comments

Oh yes, one more thing, bug with clothes is visible only in inventory and menu as far as I know.

Reply Good karma Bad karma+1 vote
pancake69
pancake69 - - 4 comments

I can provide video or screenshots of bugs, if you need

Reply Good karma Bad karma+1 vote
MysteriousOptimizer Creator
MysteriousOptimizer - - 3 comments

Fixed steam integration (and mod loading from Workshop) in 0.1.1

Reply Good karma+1 vote
MysteriousOptimizer Creator
MysteriousOptimizer - - 3 comments

I'll try to fix mods soon. Currently it does not load mods from steam. But if you put them into "mods" directory, they should work.

Reply Good karma+1 vote
Gamerio9999
Gamerio9999 - - 1 comments

So, is there a solution to fix mods not loading?

Reply Good karma Bad karma+1 vote
Guest
Guest - - 689,972 comments

It seems this causes mods to not be loaded? So... That sucks.

Reply Good karma Bad karma+1 vote
Guest
Guest - - 689,972 comments

Hey i have a question, none of my mods work after this, i have both workshop mods and mods downloaded outside of the workshop, my character also doesn't load despite saving and loading backups.

Helpp!!

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X