Jump to content

Is there actually ANY way to speed up ksp?


Recommended Posts

So, same as a lot of people, i struggle to get above 5 fps when trying to dock two ships that have over 400 parts each. This is pretty much game breaking as it is unrealistic to dock large items. So my question is, is there any was to reliably increase fps. I have seen lots of suggestions such as editing the maxphysics settings (this is a bad option apparently) but also people saying ksp is only 32bit so cannot use more than 4gb of ram.

In practice, when running ksp my cpu doesnt even get halfway loaded, my gpu doesn't even have about 20% max load. But my ram sits at about 5.25. Suggesting that ksp can only use 4gb (the other 1.25 is monitoring and webpages) so is there anyway to force ksp to use more ram? as that may fix the issue....

Thanks for any input

~Barney6262

Link to comment
Share on other sites

You are correct about KSP being 32 bit and therefor limited in memory use. Nothing anybody (including SQUAD) can do about that until a stable 64bit version of unity is released.

What you can do yourself is to install reduced texture packs and/or run memory compression mods to free up some memory. Besides that the only thing there is to do is have patience. KSP is still alpha software and poorly optimized.

Link to comment
Share on other sites

1. Use less parts.

2. Use less mods.

3. Use reduced texture packs / texture optimization addons.

4. Buy a monster rig (i7/killer graphics/SSD)

5. Wait for SQUAD to optimize the game.

Those are your options right now.

Link to comment
Share on other sites

4. Buy a monster rig (i7/killer graphics/SSD)

Wouldn't actually help the OP. Because KSP is a 32 bit program it is limited to 4GB of RAM, (if you're lucky, I run out of memory at 3.5GB because of mods). So the best thing you can do is to build more efficient. (Only reason you should be trying to dock Two 400 part craft together is for an eve ascent)

Link to comment
Share on other sites

So, same as a lot of people, i struggle to get above 5 fps when trying to dock two ships that have over 400 parts each.

I don't think I have such problems but it's true that I haven't tried to dock such complex ships. Unless your PC is swapping to disk (which I believe it is not), you can only help it with better CPU. Particularly, as high clock speed as possible. Number of cores - 2 or more, but 2 are plenty for KSP at the moment.

Memory utilization plays no role in this.

The fact that KSP is 32-bit plays no role in this (you might expect something like 5% improvement from getting a 64-bit program, so 5.25 FPS instead of 5 FPS).

The problem - probably - lies in physics complexity. To run properly two ships side by side, the game has to evaluate collisions of each two parts every frame.

For docking a 10-part ship to a 2000-part ship that means evaluating 10 parts to 2000 parts, i.e. 20,000 collision checks.

For docking a 400-part ship to a 400-part ship that means evaluating 160,000 collision checks.

Link to comment
Share on other sites

Don't dock two 400 part ships! As you say, that's going to be sluggish on just about any computer. When designing stuff, try and be mindful of the part count. For example stacking an FL-T400, 200, and 100 might get you a slightly lighter ship but it's pushing the part count up compared to just using one 800 tank.

Link to comment
Share on other sites

Ok so, thanks for all the replies helps see the issues.

Starting off, a number of you said get a better cpu or the cpu is the limiting factor. I highly doubt that as i run an overclocked I5-4670k at 4.2ghz with all cores unparked and allocated to ksp. I.e. all the cpu is running ksp. This results in less than half the cpu power being used and still lag. It is more likely the ram, as confirmed by another few of you when i see a non fluctuating ram usage of around 5gb in total. This would agree with the 32bit theory i had and is the only thing that (in that situation) would be maxed out....

Finally, i would just like to say that in reality, i'm trying to dock two ships, each with over 700 parts. Plus a number of mods :P this was an unrealistic attempt to say the least and was merely to see what kind of stupidly large stuff i can dock together without it all blowing up (as usual).

So pretty much, for me at least it seems to be an issue of ram restriction through a 32bit program. I guess we can only wait for the 64bit version to come out :/

thanks anyway guys

~Barney6262

(oh btw, i managed to use the wrong account for the op... :P)

Link to comment
Share on other sites

No, it doesn't matter how godly your CPU is, KSP can only utilize so much of it because the physics can only run on one core. If ram was your problem then you would be crashing.

Your CPU is literally the best possible, so you have it better than a lot of people do.

(If you want to screw with physics rates n-stuff, try my mod in my sig)

Edited by Xaiier
Link to comment
Share on other sites

Ok so, thanks for all the replies helps see the issues.

Starting off, a number of you said get a better cpu or the cpu is the limiting factor. I highly doubt that as i run an overclocked I5-4670k at 4.2ghz with all cores unparked and allocated to ksp. I.e. all the cpu is running ksp. This results in less than half the cpu power being used and still lag. It is more likely the ram, as confirmed by another few of you when i see a non fluctuating ram usage of around 5gb in total. This would agree with the 32bit theory i had and is the only thing that (in that situation) would be maxed out....

Finally, i would just like to say that in reality, i'm trying to dock two ships, each with over 700 parts. Plus a number of mods :P this was an unrealistic attempt to say the least and was merely to see what kind of stupidly large stuff i can dock together without it all blowing up (as usual).

So pretty much, for me at least it seems to be an issue of ram restriction through a 32bit program. I guess we can only wait for the 64bit version to come out :/

thanks anyway guys

~Barney6262

(oh btw, i managed to use the wrong account for the op... :P)

It doesn't matter how many CPU cores you allocate to KSP, it can only use 1 core for physics calculation.

So even though only a small part of your CPU is actually working, that small part has to do everything alone, and it can't do it fast enough

RAM doesn't make you lag. If you go over the limit, KSP will simply crash

Link to comment
Share on other sites

For docking a 10-part ship to a 2000-part ship that means evaluating 10 parts to 2000 parts, i.e. 20,000 collision checks.

For docking a 400-part ship to a 400-part ship that means evaluating 160,000 collision checks.

One would think that KSP uses some sort of bounding box optimization, in that where the bounding boxes of those two ships do not intersect each other, there won't be any collision checks between those two ships. In the vacuum of space, at least.

Link to comment
Share on other sites

It's pretty clear that Unity (or maybe it's PhysX, what do I know), or at least KSP does have that kind of optimization, given the massive slow-downs when you crash a vessel into something. It's fairly clear that it went from a state of not doing many calculations to suddenly having to do ALL THE CALCULATIONS.

To the OP: Given your specs, you only have two, maybe three options to get any improved performance that doesn't involve removing a lot of parts (which, for the love of god, at 1,400 parts in a scene you really should anyway).

One is to wait for Unity 5 to be released and Squad to update KSP to it. Unity 5 will come with the PhysX 3.3 SDK which means multithreaded physics support, which means huge potential performance gains for people using multi-core processors. With Unity 4, physics is stuck on a single thread, and a 32-bit one at that. With KSP being such a physics-heavy game, this bottleneck eclipses everything else that the game is doing. The increase to 64-bit instructions probably won't give all that much of a performance boost but it will solve some issues.

The second is to upgrade your processor. Usually an i5 is perfectly fine for gaming. In this case though, getting the absolute maximum performance out of the single CPU core being used is essential. An i7 might increase performance, very slightly. Really only an option if you have lots of money to throw away on something that isn't a sure bet. It's possible you'd get a lesser performing chip that can't overclock nearly as much as your current i5. I'm only mentioning this because the i7 series processors are all built for higher clock speeds than the i5 processors. (Also, unparking cores really doesn't do anything other than waste power. The internal control on Intel's chips is actually amazing.)

The third option, if you haven't already, is to build an appropriate custom liquid cooling system. Lots of rads, lots of fans, total overkill, and then see if you can eke-out a few more hundred MHz from the CPU. That's a similarly large undertaking that may have absolutely no payoff in terms of making KSP run any faster.

Edit: Fourth option is a work-around. You could use Time Control to slow the game clock down so that you can maintain a usable frame rate. Doing so will make movement look kinda choppy, but the point is that you can actually control the game.

Edited by phoenix_ca
Link to comment
Share on other sites

One would think that KSP uses some sort of bounding box optimization, in that where the bounding boxes of those two ships do not intersect each other, there won't be any collision checks between those two ships. In the vacuum of space, at least.

It's a sphere with a 2.3km radius. :wink:

But I think you're right. Skipping collision detection until ships are very close should reduce lag. But this still doesn't solve the problem at the point where it's needed most: while docking.

Link to comment
Share on other sites

I'm pritty sure the game also have to do collision detecting between parts of the same ship. Just saying, unless you use the welder mod they are still individual parts

Yes, but you can safely assume there is a lot of programming awesome going into intelligently determining when and where those calculations need to be done. I highly doubt that the lowest engine of a rocket is doing any collision detection with the top part, unless they actually get in proximity to each other.

Link to comment
Share on other sites

I recall the collision detection being hampered by Unity lacking a cylinder primitive. With rockets being LOADS of cylinders, they're all having to be done as meshes, which are much more CPU intensive.

There's also going to be other aspects of the physics. The game has to handle forces and torques exerted on each part by the parts connected to it, and the forces those parts apply depend on the parts connected to THEM, and so on. It's easy to see how the calculations could really skyrocket if not well optimised.

Link to comment
Share on other sites

interesting. My question is if only one core is being used for the game, with nothing else intensive running on the system, why are the loads for all 4 cores seemingly equal? note on unparking cores, in OTHER games i saw an fps increase. I haven't tested it on ksp nor bothered to see if it made a difference so was only noting it as a possible factor :)

i do currently have a corsair H100i on the cpu but the overclock is only an automatic one from my motherboard (cba to do a manual one)

i guess the best option is simply to wait for new software updates as i don't (and im sure many players of ksp with fps issues) have a ton of money to throw at new hardware. obviously, an easy fix would be less parts and less mods, but, Where's the fun in that? :P

Link to comment
Share on other sites

As a general rule, unparking cores is dubious at best. Usually CPU cores aren't parked anyway so it's a non-issue. I highly suspect your "FPS increase" was caused by other factors. Every rigorous test I've seen on the issue has come-out in the "doesn't do anything useful" category.

As for loads on cores seeming equal, are you sure that's what you're seeing? It seems highly unlikely for KSP. It's possible its simply switching the thread between them very quickly, which is entirely normal.

An H100i pales in comparison to the thermal performance of a custom loop that's properly constructed. Those all-in-one units are good for noise reduction, but not if what you want is good heat dissipation. If that's what you're after then money is better spent on a more expensive but complete cooling system (preferably with the highest flow rate you can muster...biiiiiiig pumps are good).

Yes, the best option is to wait. This should be fixed by this year's end (finally). That, or you could try cooling with liquid nitrogen or liquid helium. I mean, that's pretty esoteric, and extremely expensive, but hey, it's possible. And you could run KSP for a few hours smooth as silk.

Link to comment
Share on other sites

With 4gb of ram with extra to spare for other processes and the operating system that has been maxed until unity 5 (we hope).

4.2 ghz cpu with more than one core (the second to run operation system) is almost as good as you can get though the above postings about liquid cooling may up that a little.

It is worth noting that although the GPU is not the most important part of a system for KSP it can make a difference. I was running a Geforce 9800 (released February 21, 2008) and upgraded to a geforce 760 ti. This almost doubled the parts I could use and still be at 60fps. This is a fairly extreme upgrade but it may be worth noting. My Cpu is a quad core i7 at 2.67 ghz and I have 6 Gb of ram just to put the GPU upgrade into context.

Link to comment
Share on other sites

If you haven't already, you might try texture reduction. There are three ways to do this: reducing texture size in the game's graphics settings, the Active Texture Management mod, and texture reduction packs.

Even though my video card has 1 GB of ram, this was the major limitation for me. I now use Active Texture Management-Aggressive and reduced the textures setting to one half. You probably won't need to go quite that far, but it's an easy and free way to see if that's the issue.

Link to comment
Share on other sites

On top of all that has been said, I find that rigidity of structures also is an issue: bending, flapping &c translates directly into lag. In some (few) cases I could actually improve lag by adding MOAR STRUTS. Most pronounced when the dangly bits were big bundles of strapped-on jet engines -- presumably because the constantly-changing direction of thrust had ramifications throughout all parts of the vessel.

On my box, 400-part rockets usually give me no lag and even 500 parts may work, depending on design. However, huge planes (lots of wings flapping & bending in the wind) become distinctly laggy at 300 and quite unbearable at 400.

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