Jump to content

KSP2 For Science! Performance Check-in


Intercept Games

Recommended Posts

  • KSP Team

image.png

The team has been hard at work improving the performance of Kerbal Space Program 2 since launch, so we’d like to take a moment to really showcase the difference between the Early Access Launch (0.1.0.0) and the For Science! (0.2.0.0) release coming next week.

Here’s a look at some graphs we use to understand the performance of the game and the improvements that have been made to our minimum specification and recommended specification machines: 

image.png
Min Spec 

image.png
Recommended Spec 

This represents a huge amount of work by the development team across a number of features and releases. With performance optimization being one of the most frequent requests since launch, we're looking forward to hearing from players how this work improves the overall gameplay experience.

If you're curious about performance tuning and how we make decisions in that area, the rest of this check-in provides a high-level overview from our Engineering Team and should provide a bit of extra context for the above graphs.

Performance 101 

As you can see in the charts, performance varies quite a bit between various scenes players might find themselves in. When we’re investigating performance-related issues, we need to investigate many variables both in the game and on the physical machine. Let’s examine the basics of performance tuning and what we look at when trying to make decisions about performance optimization.  

In keeping with the theme of For Science!, we should start with defining our experiments and the measurements we will use to determine if we are moving in the right direction. So, let’s start with Frames per Second (FPS), which many of you will already be familiar with. A frame is the period required to fully recalculate what has changed in the game state and redraw the scene to the player. The more FPS the smoother the game looks - and feels, as this allows us to capture inputs quicker and update the game state showing those updates to the user in a more responsive way.  

When we are digging into performance, we want to look at that value in a different way: milliseconds per frame (ms). Why would we do that? Basically, we want to understand what, in a given frame, is taking up time so we can make it faster. For a 30 FPS goal, we get 33.3 milliseconds per frame, so it becomes a lot easier to set a budget for how much time a given section of the game should take. But what are we taking time from exactly? There are two pieces of hardware we generally are looking at for performance: the GPU and the CPU. 

At a high level, a Graphics Processing Unit (GPU) is a piece of hardware that specializes in the types of calculations that are needed to render a given scene. It is much faster at smaller tasks in parallel than a Central Processing Unit (CPU) but much slower at running tasks in a series. In order to get the maximum performance out of a computer, we want to use both to their full potential and optimize the game accordingly.  

Now some of you are thinking “What about memory, storage devices or things like that?” And you’re right that we do consider those things, but for the purposes of this overview we are going to concentrate on the biggest items that affect performance. But bonus points all around. 

 

image.png
An example internal debug output  

One of the important parts of performance tuning is to understand what the bottleneck is in each scene, either the CPU or the GPU. In the image above the CPU is taking 44ms per frame on a scene and the GPU is only taking 19ms. The CPU is the bottleneck in this case, so it doesn’t matter how much more optimization we do on the GPU. To improve this specific case on this specific hardware, we need to determine and target the most expensive operations on the CPU. 
 
One of the challenges of making a PC game compared to consoles is the variety of hardware choices, specifically when it comes to CPUs and GPUs. There are thousands of combinations that someone could have, and each of them is going to perform slightly differently. That doesn’t even get into memory differences or software differences like operating system patches, hardware drivers, etc. This is why we publish minimum and recommended machine specifications - to help players understand what we have tested and if their machine should be able to play the game with adequate performance.  

Now that we have some background on what developers look at for performance tuning, let’s go back up to those graphs at the top. For one, these are per-configuration graphs, which are used to tell us how the game is performing on that specific hardware. We do lots of these which help us to remove the hardware variables from the tests and just look at how the given build is performing overall. It also lets us look at this data over time and see if things are improving or not. As we add features, these will always affect performance, so we need to be checking the deltas consistently to determine where we need to spend time on improvements. The other thing these graphs help determine is if a given hardware setup has abnormal issues compared to other similar setups. A given manufacturer may have optimized their hardware in such a way that we get different performance out of certain improvements and knowing that helps us optimize the game for the entirety of our player-base across a wide range of hardware options. 

---

We hope that this has been informative! As we work towards larger performance optimization goals in the future, we’ll be sure to share updates in posts just like this – and perhaps take a more technical deep-dive in performance-focused dev blogs, so let us know if you’d like to see that! 

Thanks for reading and hope you enjoy For Science! 

KSP Team 

Link to comment
Share on other sites

Performance has definitely come a long ways since the early access launch. I’m very happy for that. Thank you devs. 
 

Now it’s just some of the annoying bugs I hope get squashed soon. Specifically the bugs with docking. I’ve been having issues with docking since day 1. The most annoying one is when I undock a vessel from another vessel, there’s always a high chance that it will blast away from it and at an angle all weirdly. Sometimes out of control and spinning.   Instead of a smooth decoupled motion moving in the opposite direction.  I hope this gets fixed soon. This is the main reason I’ve stopped playing for a while.  It was getting too frustrating for me. 

Link to comment
Share on other sites

Seems like there's been some great optimisation passes since launch. Superb work! It would be fantastic to see 1% and 0.1% lows alongside Average FPS when looking at the benchmarks as, for a game like KSP, a nice constant 30fps is a lot more pleasant than say, a 60fps average with 1% lows of 5fps (frequent stutters or hitching).

Link to comment
Share on other sites

Wonderful to see progress made across all fields. Even if it sounds doom-ish to say, I wish 0.2.0.0 had been the build KSP2 released with at EA launch.

And I'll also say, it's good to show 0.1.0.0 compared, but it's only fair we also had gotten a direct comparison between 1.0.5.0, which felt like a tiny introduction to 0.2.0.0 in terms of performance improvements and I'm sure the difference gap isn't as big as with the broken mess (sorry, just being honestly blunt) 0.1.0.0 was.  I'm still happy that the dev team kept their morale up and are working towards making KSP2 the best game it can be. We've seen they are all super passionate people and that keeps me hopeful. I also hope we continue to get significant performance improvements like these. They are needed by the time Colonies and Interstellar are around.

All this said, hopefully docking isn't a death trap in 0.2.0.0 so I can actually complete many of the challenges posted throughout 2023 and not die from frustration trying!

Edited by MARL_Mk1
Link to comment
Share on other sites

Great progress, KSP2 team! This is wonderful to see.

I would love to read more posts like these, to know how you approach a certain challenge (whether you succeeded or not). It is a shorter post than other big ones but I welcome it still! It is a nice read, not too long for those who fear the long ones. :D Good balance.

Link to comment
Share on other sites

Glad to see performance is getting work. I'll admit some of the nice-looking preview shots had me worried that those nice views might be hard on my poor 2080 (which was an expensive high-end card when I got it - $2k just for the GPU card). Two things have kept me from fiddling much with KSP2 so far. One was waiting for something like career mode; guess this release will be at least a start to that. The other is that although my system seems to run KSP 2, the noise of the GPU fans spinning up so fast tells me that the temps are getting higher than I want to inflict on my system (not to speak of the noise level being distracting). Looking forward to taking another peek at any rate, though my best guess is that it will still be a while before I'm ready to play KSP 2 much. Doesn't seem like a great time for upgrading GPUs.

Link to comment
Share on other sites

9 hours ago, RockyTV said:

Care to explain why the benchmarks were performed in two different graphics card from two different brands?

Why not test low and high specs on the same card? This is literally not informative at all.

It shows a comparison between 0.1 and 0.2 pray tell what the “no information at all” part is,

If they test a single card the argument is that these tests are only relevant for that card. What they’re showing is that the performance increase is not limited to high-end or low-end setups, but on both ends (and reasonably, across the spectrum).

Out of curiosity, what information would be derived from limiting the benchmark to a single card. And what would have prevented you in that case from complaining that the benchmark was limited to a single card?

Edited by Kerbart
fixed two tablet-induced typos
Link to comment
Share on other sites

On 12/15/2023 at 12:59 PM, rmaine said:

One was waiting for something like career mode; guess this release will be at least a start to that.

From what we've heard, this is about as close as you're going to get to a career mode.  The missions (previously contracts) will reward science points toward progression, and currency as it was in KSP 1 is essentially gone from the game.

There will be other fungible resources that act as gating mechanisms - introduced later for colonies - but not a unified currency like we saw in KSP 1.

 

Link to comment
Share on other sites

On 12/16/2023 at 3:50 PM, Kerbart said:

It shows a comparison between 0.1 and 0.2 pray tell what the “no information at all” part is,

If they test a single card the argument is that these tests are only relevant for that card. What they’re showing is that the performance increase is not limited to high-end or low-end setups, but on both ends (and reasonably, across the spectrum).

Out of curiosity, what information would be derived from limiting the benchmark to a single card. And what would have prevented you in that case from complaining that the benchmark was limited to a single card?

They could've tested both qualities in both cards. It shows to me and other skeptical players that they don't care at all and they are just continuing with deceiving players and constantly disappointing us.

Edited by RockyTV
Link to comment
Share on other sites

9 minutes ago, RockyTV said:

They could've tested both qualities in both cards. It shows to me and other skeptical players that they don't care at all and they are just continuing with deceiving players and constantly disappointing us.

Communication is always a trade-off. Do you cater to the large crowd that wants to hear in a single-page update that performance has improved, with one or two graphs to substantiate that claim? Or do you spend the resources to create a detailed 75 page report covering every combination of GPU, CPU and memory to satisfy a few who want to see such details? Especially when those skeptics are likely to dismiss those charts as lies anyway?

If I had a deadline to meet and needed to make choices on what to have my people work on, I know what I would pick.

Link to comment
Share on other sites

On 12/20/2023 at 7:39 AM, RockyTV said:

They could've tested both qualities in both cards. It shows to me and other skeptical players that they don't care at all and they are just continuing with deceiving players and constantly disappointing us.

What they're testing isn't the in game quality settings. It's the min and recommended system specs put out on the games product page. For only 2 pictures/tests it's probably the best way to show that the game is playable on the minimum specs at low settings and that the recommended specs can handle the max at playable fps. I agree they could've done a few more tests and released say the recommended system at low, medium, and the high presets to give people an idea of the differences the in game settings make but for a quick check in I think it's well done.

Link to comment
Share on other sites

One performance-related suggestion. The game runs fast enough on my system (with a GTX 2080). And the fan noise is down to a bit more than like instead of the fans blasting unacceptably at top speed as in earlier releases. I don't usually bother paying attention to FPS numbers as long as the game seems to be running smoothly enough. But I briefly turned on the option to show FPS and that gave me an idea. How about an option to limit FPS? This isn't a "twitch" game (and I wouldn't be playing if it were). I bet my fan noise would largely go away if I could limit the FPS to, say, 30, which should still be fine for game play. I set a 30 limit in "The Outer Worlds" and it helps greatly there. The only FPS limit thing I see in KSP 2 is the option for video sync, which essentially sets FPS to 60. Oddly, where I'm currently seeing the highest FPS numbers, along with fan noise that would be unacceptable if it continued, is in the setup menu, which sure doesn't need diddly squat for FPS.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...