March 9th, 2019
Q&A: How did you guys optimise the game so much?
https://www.youtube.com/watch?v=nRCmJo-Wh9s
Suggested Wiki Refrence Code
Topics
Transcription
Jace
How did you guys optimize the game so much that GTX 1050 can play at high ultra settings?
with great difficulty.
Obviously there's programmers that can optimize stuff, but then also there's a lot of things artists can do as well.
And so everyone has just been working their ass off completely.
Snutt
That's
Jace
Simon's dig.
Yeah,
Snutt
actually Simon does that.
Yeah, I work a lot of optimization.
And Gafgar, our newest programmer there, he's done some really cool stuff with all the buildings.
Like for example, if I build one of the constructors, or let's say I build 50 constructors, we have instanced one of them, so like, yeah.
They're only rendered like once.
This constructor is supposed to be here, and you just, yeah, it's one, like one draw call.
Jace
So you can draw all 50 constructors in one call?
Snutt
Yeah, exactly.
But we also have, like, it's divided up to a skeletal mesh as well.
So the moving part is a separate object on the buildings.
Okay.
So there's, like, more stuff we can do there, which probably gonna come in some stuff for early access, I hope.
Like this.
It's gonna come in eventually, but yeah.
And we did
Jace
some tricky shit with the conveyor belts as well, right?
Snutt
Yeah, and that's G2
Jace
who made a lot of stuff there.
G2, yeah.
G2 is the guy who made the trains as well.
Yeah, G2 and Steak has done it.
Like Marcus, if you
Simon
guys
Jace
have seen him on Discord.
Marcus has done a ton of optimization on the conveyor belts recently that just upped the performance crazy.
Yeah.
Like back in the day, the way that we drew the conveyor belts, they were piece by piece, right?
It wasn't even like a spline, is that right?
No, it was still a spline, but all the separate pieces off the...
Wait, I can actually show on screen if I can.
Like...
Because it was like, there is still multiple pieces on one spline, right?
It makes up like...
Simon
Oh shit, I can't show
Jace
it.
You see how many you spawned
Simon
on
Jace
it.
So every time you place down a conveyor belt and connected it, so this would be one piece.
That's one spline, but on the spline, there are separate meshes for everyone.
Exactly.
And then if you did this for a whole bunch of conveyor belts, that's a lot of draw calls.
Simon
An entire factory, and you
Jace
look at it.
Simon
Yeah.
Jace
So now it's, right now, it's like one draw call per...
Snutt
Yeah, so if you have a conveyor pole, I think it's a new draw call of every conveyor pole.
Exactly.
And
Jace
that's the next thing to do is to have so that all the splines, all the connections between conveyor poles is just one draw call instead of per pole, so to speak.
So there's still stuff to do that will also improve it a shit ton.