Jump to content

KSP Performance (GTX 1080?)


Supergamervictor

Recommended Posts

I don't own one, especially when I'm broke. But I'd like to ask if anyone who does have it, experience any performance boost whilst playing KSP. Quite frankly, KSP is one of the most un-optimized games I've ever played, and for good reason. I can't blame squad on it, but it's certainly something that should not be dismissed. I'm not sure if KSP utilizes much of the gpu's power. I have 16Gb RAM just for KSP alone, joined with an i5 with a GTX-970. I was pretty disappointed when more RAM doesn't mean better framerate when it comes to heavy part counts and tons of mods. Though it certainly did make the editor smoother for me, it didn't make my framerate get any better in-flight.

So my questions is: does GPU memory and speed affect KSP's performance, and is the current KSP terrain system unoptimised.

What do you think is slowing down KSP? and what are your tips on running KSP butter smooth? 

Link to comment
Share on other sites

The limiting factor for KSP is and probably always was the CPU and the inability of the game to utilize all cores to it's fullest. (which is not to blame anyone, but just a fact).
I believe it can use 4 cores / threads up to now, while some CPUs (i7 and such) could offer 8 hardware threads or even more with a 6-core CPU.
This means, KSP currently can only utilize 50% of a modern i7 processor for it's physics calculations, because physics calculations of a single craft in KSP are hard to distribute.
Squad is obviously improving this steadily. But currently it's still the biggest bottleneck.
So If you have a GTX 970 (which is already completely over the top for KSP), you really don't have any advantage with a 1080.
It's not your FPS that suffer with heavy part counts, but your simulation speed - which has the same result in the end. The game begins to stutter.
Nothing that a GTX 1080 can do anything against.
I have a GTX 580 and I never had FPS drops with MAX graphics. Just sim speed drops. The only limitation my GPU has, is it's 1,5 GB VRAM, which prevents me from using EVE (clouds).
With a GTX 970, 16 GB RAM and a CPU with at least 4 cores and > 3 GHz clock, you've done everything you can hardware-wise to give the game the best base to work with.
Now Squad has to make the most out of that.

Edited by Cairol
Link to comment
Share on other sites

[tl;dr] lag scales badly, hardware scales linearly.  Throwing hardware at the problem won't fix lag (especially if you are at the top end of hardware already).

You're missing the obvious issues.  First and foremost: what resolution?

As far as I know, all the physics is handled by the CPU (unity might have Physx, but I don't think it offloads anything to a [nvidia] GPU).  There's nothing a 1080 will do to help part count lag.

Mods typically are a matter of RAM.  Since 4GB (likely 2GB) was all KSP could use before 1.1, it is next to impossible for 16GB to not be enough unless one of your mods have a memory leak (can you even have a memory leak with C#?).  Most mods should have a nominal effect on CPU time (unless you want that one that uses N-body gravitation.  Push that one and it will bring a Broadwell-E to its knees, although I suspect using it within reason should still work with an i5).  Scatterer and similar shader mods are the only thing that will change the GPUs effect on speed.

To put it bluntly, KSP just isn't a graphically complex program.  It basically builds a bunch of rockets and/or planes plus some planets with some sort of procedural (I hope) geography.  The only reason for it to lag is high component count, and that tends to blow up either geometrically or exponentially (not sure, but once it lags you should stop adding parts.  I'd suggest testing all your parts on the ground, i.e. hooking up your completed spacestation on the pad (and held in place by launch clamps) and making sure you can pan around it with a working frame rate.  Also consult the threads for advice in avoiding overly laggy spacecraft: somebody noted that docking ports are some of the worst parts you can add (they have to check for all other docking ports (including ones on the station?) to see if they are docking).

And as I mentioned in the [tl;dr] section, lag scales either geometrically or exponentially.  In practice this means that *even* if you were limited by your GPU, going from a 970 to a 1080 card would only allow you to add a few more parts (maybe not even an extra docking port).  Really, the best we can hope for is some sort of collaboration between Squad and Flying Tiger to produce algorithms that will work on wimpy jaguar processors (console processors are *tiny* and designed for low power).

Link to comment
Share on other sites

The only thing a better GPU will help you with is if you're piling on a bunch of graphics mods.  Even then using mods for graphics enhancements isn't well optimized.

My 390 can run The Witcher 3 on max(sans hairworks) at 70-90fps, but KSP with SVE+Scatterer struggles to stay above 40fps.  Even when just sitting at the space center menu with no craft active.

Link to comment
Share on other sites

It's rather rare that adding more RAM improves fps. In the case of KSP, it's nearly always CPU-bound.

I made the argument on Reddit the other day that any game that gives the player a lot of creative freedom is going to lag sometimes. Even if KSP could handle a five thousand part ship with ease, somebody would make a ten thousand part one. The only way developers can make a game that's lag-free is if they control and limit what goes on in the game. That approach is fine in a shooter or an open-world RPG but it won't fly in a game like KSP.

Link to comment
Share on other sites

You said you had tons of mods. Some mods will slow things down significantly - the earlier versions of Kerbalism were particularly bad, since they were checking resources at every step. Other mods that calculate things in the background, such as life support, scanning, and communications mods will each add to the slowdown, particularly if your save has lots of craft in flight.

Link to comment
Share on other sites

As the other people said up there, GPU power not a big factor for KSP it seems. As long as you're not running your graphics with a potato. For most other games...yeah, GPU matters a lot..

That said, the 1080 and 1070 seem to be awesomely powerful cards at great prices. Now seems to be the best time in forever to get a new GPU. I'd be getting a 1080 if I wasn't pretty satisfied with how well the 980 TI I already have can handle games at 4K. I will however probably upgrade it one more time when a 1080 TI drops. That should be a step up enough to maybe bother upgrading. But I digress.

 

Link to comment
Share on other sites

You should provide more detail about your CPU than just "i5."  Most likely you'll get much, much better bang for your buck improving game speed by upgrading processor clock speed - and more powerful cooling to stay at higher turbo settings.

Link to comment
Share on other sites

The dual Xeon E5-2670/32gb DDR-4 system (16 cores/32 threads) I'm about to build will probably not matter much for KSP then. Shame. Seems like game devs (Unity, not Squad -- not Squad's fault) would get with the times and start coding in Core/Thread scaling by default. We've only had that technology for, oh, 10 years or so.

Link to comment
Share on other sites

Went from a GTX970SC to a GTX1080FE and for KSP it didn't change anything at all (which wasn't any surprise)

Maybe a bit later down the track it might once Squad gets the standard shader to work with KSP's camera setup and starts implementing heavier graphical things like mie/rayleigh scattering, it might come into play, for for now at least the game isn't GPU bound in any meaningful way

Edited by NoMrBond
Link to comment
Share on other sites

On 2016-06-16 at 9:30 AM, wumpus said:

As far as I know, all the physics is handled by the CPU (unity might have Physx, but I don't think it offloads anything to a [nvidia] GPU).  There's nothing a 1080 will do to help part count lag.


To expand on this (since no one has really pinpointed where the problems are), the reason, as I understand it, that KSP is CPU-bound so heavily is because it depends on rigid-body physics simulation for most part interactions. (The devs made a lot of improvements early on in smartly removing any parts from these interactions that didn't absolutely have to be included.) PhysX 2.whatever.the.heck.it.was did all rigid-body simulation on a single thread. This was what we were stuck with while KSP was using Unity 4.

Enter Unity 5, and we get an upgrade to PhysX 3.3, which by default parallelizes rigid-body simulation. Undoubtedly with some backend fiddling on Squad's part, this led to the holy-crap jaw-dropping performance increase with KSP 1.1 with larger part counts in a scene.

In a little bit of even better "woo hoo!" news, Nvidia announced PhysX GRB (GPU Rigid-Body), which allows a hybrid GPU/CPU distribution of physics calculations. Undoubtedly, being able to leverage a user's GPU will see absolutely massive performance increases for games that depend heavily on rigid-body physics. The downside is that it's coming with PhysX 3.4, and there really isn't any telling when that'll get incorporated into Unity. Hopefully, it will be, and maybe KSP performance will see another increase as we just saw with 1.1.

 

15 hours ago, BetaguyGZT said:

Seems like game devs (Unity, not Squad -- not Squad's fault) would get with the times and start coding in Core/Thread scaling by default. We've only had that technology for, oh, 10 years or so.

Not really Unity's fault either. PhysX is Nvidia's department.

That said, this particular problem (how to do a rigid-body physics simulation with parallel operations) was a really tough nut to crack. There are several years of really heavy (and cool!) maths and theory that had to be figured-out by some extremely intelligent computer scientists (Nvidia has a fair number of articles published on just this problem, or parts of it, in recent memory, going back to 2010 at least, IIRC) just to figure-out how to do this with more than one CPU core.

But that's computer science for you. A great many problems don't lend themselves to parallelization well. Hardware engineers ran out of ways to make single cores faster (essentially), so they slapped more of them on one CPU and dared software engineers to program them. O.o

 

Edit: I should probably make clear, that the above advice of "higher speeds, not more cores" is very good. Get a good heatsink. For now, your GPU is just there to make things look pretty. But the new solver (and other stuff) introduced in PhysX 3.4 is really, really, really exciting. Comments on the page I linked indicate it may even be doing a much better job of using multiple CPU cores.

Long-term, I expect we'll see an end to the tyranny of CPU-bound physics. It'll just take a bit more time and some more really bright ideas.

Edited by phoenix_ca
Link to comment
Share on other sites

If you like leaving KSP running while doing other things, more core cans help, so long as the OS is assigning them properly :wink: .  That is sometimes an overlooked advantage of a few extra cpu cores since most people tend to only think of the performance of one single program not all programs that might be simultaneously running. 

Also it's not just KSP that suffers from being CPU bound, many simulators, like FSX/Prepar3d, will also be more bound by the cpu than the gpu (not that the gpu isn't important too, especially as you add graphics elements like weather, but if your cpu can't keep up with the basic physics calculations a faster gpu isn't going to do much).  So if you only play simulator type games like KSP always go for the better processor first then consider RAM/GPU second.  And as someone pointed out the resolution matters too, if you want to do 4k vs 1080p well than your are going to need a better graphics card due to all those extra pixels... it's a fun equation (the solution is to win the lottery so you can afford the best of everything and replace it with the latest and greatest every couple of months :wink: ).

@EliasDanger unless I've missed something, so far Nvidia has not announced a 1080ti, sometimes they don't do a ti edition (but I hope they well, the 1080 is nice but not enough of an upgrade over the 980ti for me to justify the expense, though its 4k figures are tempting, but if a 1080ti comes out it looks to me like it will really be a good single card/gpu solution for 4k).  Frankly I'll try to hold out for an 1180 series card, I really like to skip at least one generation and in the meanwhile if 980ti's drop enough in price I might be tempted to do SLI (that's what I did when I went 4k, dropped a second 770 in my system that was quite cheap, did fairly well too until one of them got shorted out by an insect).

Link to comment
Share on other sites

2 hours ago, phoenix_ca said:

Enter Unity 5, and we get an upgrade to PhysX 3.3, which by default parallelizes rigid-body simulation. Undoubtedly with some backend fiddling on Squad's part, this led to the holy-crap jaw-dropping performance increase with KSP 1.1 with larger part counts in a scene.

In a little bit of even better "woo hoo!" news, Nvidia announced PhysX GRB (GPU Rigid-Body), which allows a hybrid GPU/CPU distribution of physics calculations. Undoubtedly, being able to leverage a user's GPU will see absolutely massive performance increases for games that depend heavily on rigid-body physics. The downside is that it's coming with PhysX 3.4, and there really isn't any telling when that'll get incorporated into Unity. Hopefully, it will be, and maybe KSP performance will see another increase as we just saw with 1.1.

Even then, KSP still isn't very *well* multithreaded. For a single vessel I now see the equivalent of 1 1/2 cores used.

As for PhysX GRB, not happening for core KSP physics as long as it's nVidia-only. Might not even come to Unity, which never bothered with the GPU acceleration in PhysX before. It's long been the problem with GPU computing for games that unless what you're doing is supported on all three GPU brands, you can't really use it for core game stuff and it's relegated to graphical pretties like breaking objects.

By the time something like that becomes possible cross-platform, well to be honest I'd rather see a KSP 2 in development or on sale that might take a very different approach to vessel structures. KSP's approach has a lot of shortcomings IMHO, poor game performance is just one of them.

Link to comment
Share on other sites

@kBob you haven't missed anything, just speculations and rumors, some are hoping the 1080 TI will make an appearance by the end of the year, but it hasn't been announced. I can't SLI on my motherboard without building an all new computer, so I'm waiting for that next step up from the 1080, whethers it's a 1080 ti or an 1180. As you said, the difference between the 1080 and the 980 ti just isn't enough to warrant upgrading.

Link to comment
Share on other sites

You should picture it like this.

A high end graphics RPG like witcher 3 has pre calculated physics because many game areas are pre animated. Animated meaning that how realistic all the textures may look they are animated based on a fixed movement. This means that in many cases there is no interactive calculation based on objects or what we would call PhysX calculations. Just the calculations of texture content that is pre animated has to be processed by a CPU.
After calculations by the CPU are processed the Graphics card needs to process that raw data into video output.

And because each texture in a game like witcher 3 has alot of shadowy, complicated mesh, lighting, VSync, SSAO, SuperSampling, Bloom, Motion Blur, Anisotropic Filtering, High total screen resolution, texture resolution, anti aliasing and pixel shading calculations. The graphics card goes, puff, sigh and woosh at it, and the cpu will be comparatively feeling like, "Yawn, snore"

In KSP, the textures are cartoony. Whatever processes the CPU calculates and hands over to the graphics card, it will be like "piece of cake" and "easy as pie"
Because except for a few flags, kerbal faces and nozzle flames, nothing else is preanimated, and it doesn't cover all the graphics calculations as summed up earlier that many other games need to deal with.
The only thing the graphics card has to process is PhysX.

But PhysX is just a property of graphics calculations. If that's all it is, or nearly in the case of KSP, you hardly need a gamer certified graphics card at all.
In the case of KSP especially, because the graphics card only has to deal with the PhysX calculations in terms of graphics, the CPU has to deal with the same calculation to deliver the raw data to the graphics card, and with all the other physics calculations the parts of a ship needs to deal with.

In KSP, the CPU will do 10 times the amount of work of the graphics card. That's not actual data though, more a expression to deliver the tone here.

Maybe this tells you how foolish it is considering any high end graphics card just for KSP, let alone a GTX 1080 "not saying you only play KSP ofcourse"

 

Link to comment
Share on other sites

Greetings fellow Kerbonauts, I just wanted to add a tidbit here since I just bought a new system for KSP, well specifically to help with FPS. The Problem: I had built an awesome station with the latest build (5.2.4 for KSP_x64.exe) but was getting no more than 12 FPS. This was on a Asus G74SX with a i7 2630QM quad core 2 Ghz, 12 Gb of ram and a GTX 560M with 3 Gb. So I just bought a Asus G751JT with a i7 4710HQ quad core 2.5 Ghz, 24 Gb ram and a GTX 970M with 3Gb. Using the exact same in game settings, my FPS is now 20 while messing with that same station in the same scene, 115Km above Kerbin. Frankly, it's not the leap I was hoping for, but is still a 67 percent increase. I only point out here for anyone who may be wondering how specific hardware changes can affect the FPS for large stations/ships, etc. I will leave it to better experts to sort out which part of the hardware upgrade likely had the greatest impact. All the best. Sol

Link to comment
Share on other sites

8 hours ago, cantab said:

Even then, KSP still isn't very *well* multithreaded. For a single vessel I now see the equivalent of 1 1/2 cores used.

True. As I said, some comments on that article indicate that the new constraint solver is actually making much better use of CPU cores when not using GPU acceleration at all.

 

8 hours ago, cantab said:

As for PhysX GRB, not happening for core KSP physics as long as it's nVidia-only. Might not even come to Unity, which never bothered with the GPU acceleration in PhysX before. It's long been the problem with GPU computing for games that unless what you're doing is supported on all three GPU brands, you can't really use it for core game stuff and it's relegated to graphical pretties like breaking objects.

It might come to KSP eventually. It's not a frivolous extra-pretty effect but part of the core gameplay. Keep in mind that it is a hybrid GPU/CPU solution at the moment, and you can actually take the GPU out of the equation entirely. No GPU acceleration then, but as the article makes clear, the main benefits of the GPU acceleration come only when dealing with many thousands of objects. With the object counts we're taking about in KSP, the CPU may still reign supreme.

Also the biggest reason that PhysX and the like have typically been relegated to only pretty-fluff is because those are the easiest to parallelise. If the objects don't have to interact with each other, just with one other object (e.g. a player) then the whole problem gets a hell of a lot simpler and sticking it on a GPU.

Think of it this way: With huge object counts (many thousands) in a scene, it's much easier to break the scene down into smaller chunks to work on. The objects that are interacting directly with each other may still need to be calculated linearly, but you can run those linear operations in parallel between those chunks. With smaller object counts, the benefit of this disappears, hence why GRB sees little to no benefit at smaller object counts.

As for it being Nvidia-specific, I don't think that'll last forever. If everyone else can figure-out that this won't be as viable for games, Nvidia can too. It's possible they might decide to leverage Vulkan's compute support in future (or at least DX12's, but again with the way the market is going, especially with Steam OS, I'd bet on Vulkan) to make it cross-platform. The important thing is that they have a solution, which is the hardest part of the problem. Porting it is tricky but probably doable.

8 hours ago, cantab said:

you can't really use it for core game stuff and it's relegated to graphical pretties like breaking objects.

Depends on what objects you're talking about. Synced physics-based object destruction between players in multiplayer games is something that's being worked on. I can't recall which game that was for though right now. Battlefield-something probably.

 

4 hours ago, Vaporized Steel said:

Because except for a few flags, kerbal faces and nozzle flames, nothing else is preanimated,

There are a lot of other animations in KSP. Like a lot a lot.

 

4 hours ago, Vaporized Steel said:

The only thing the graphics card has to process is PhysX.

Without PhysX GRB, no, all the graphics card is doing in KSP is pumping-out frames. All of the physics calculations are still done on the CPU.

 

4 hours ago, Vaporized Steel said:

But PhysX is just a property of graphics calculations. If that's all it is, or nearly in the case of KSP, you hardly need a gamer certified graphics card at all.

Erm...what?

4 hours ago, Vaporized Steel said:

In the case of KSP especially, because the graphics card only has to deal with the PhysX calculations in terms of graphics

Are you talking about GPU-accelerated PhysX effects? Does KSP even use any of those? I'm pretty sure it doesn't.

Link to comment
Share on other sites

As for alot of animations, I summed up a few, because compared to other games it is few, which was my point.
Even if it's alot more, it's scarce in KSP. Very scarce, and that's what I tried to tell really. Sure I can name atleast a few more dozen if I really counted all of them. (just of of my head, many animated parts)

I thought the new KSP used PhysX since unity 5 supports it. Shouldn't have said it then imo, kinda assumed it since I read it, and KSP now has Unity 5.
And I typod PhysX to much along with making the post italic.
I ment to say Physics calculations instead of PhysX concerning the calculations between CPU and GPU for many calculations. And yes, I did thought that Physics calculated by the CPU also means the GPU has to process more.
You say that's not true, OK. That makes me question, are there apparently more graphics card intensive situations in KSP, apart from installing visual mods.


 

Edited by Vaporized Steel
Link to comment
Share on other sites

2 hours ago, Vaporized Steel said:

I thought the new KSP used PhysX since unity 5 supports it.

KSP is using the PhysX 3.3 SDK, which is what comes with Unity 5. The two key points I was making was that PhysX 3.3 does not provide GPU acceleration for rigid-body physics, but it does use parallel processing on multiple CPU cores for rigid-body physics. Since rigid-body physics is the main constraint on KSP's performance, that's what should be concentrated on when offering possible solutions to people experiencing low frame rates (which are coupled with a low physics-to-time ratio, which can be viewed easily with KerboKatz utilities; if it's just a low frame rate but the physics simulation is fine, you actually do need a better GPU).

When it comes to the other things in PhysX 3.3, like hair, particle interactions, and the like (so all that "pretty stuff"), I'm pretty sure KSP hasn't touched any of the GPU accelerated parts. If they did, then we'd see very obvious differences between people's visual experience when using Nvidia cards or not.

2 hours ago, Vaporized Steel said:

And yes, I did thought that Physics calculated by the CPU also means the GPU has to process more.

Yeah, all the GPU has to do in KSP, as far as I'm aware, is pump-out frames as per normal. There isn't any compute stuff being done on it.

 

2 hours ago, Vaporized Steel said:

That makes me question, are there apparently more graphics card intensive situations in KSP, apart from installing visual mods.

Sure. Take a five-hundred piece rocket and then explode it in some horrible fashion on the pad. Chuck-in the Destruction Effects mod on top of that and I'm sure you'd have enough particle effects going-on at once to start stressing an older GPU. Or you could try putting a few thousand lights on a single part or something. Not much physics going on there (since lights attached to the surfaces of parts don't have physics to speak-of; they're basically super-glued to the part, so-to-speak), but a whole lot of lighting and excess geometry.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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...