Jump to content

Improving slowness


Recommended Posts

I noticed it seems on modern computers the cause of low frame rate isn't usually too much graphics. It's the physics calculations that the parts require. This would generally end up CPU limiting the game. Now it seems to me many physics operations may be able to be carried out by the GPU instead. This may not be best for all calculations or all computers of course but if it were a setting then people could activate it to see if it helps. If you use the correct kind of compiler you may not even have to reprogram all the calculations, just compile for GPU instead of CPU, then again I have no idea how you guys coded so, it may be a near impossibility at this point :P

Link to comment
Share on other sites

Guest Brody_Peffley

cpu are more better at calculations than gpu. But I hope they ease up some load on the cpu in future updates. And yeah the gpu does have some load too. Every part you add is like 1 million pixels. Enough pixels will make your gpu get to overloaded.. Same with your cpu

Link to comment
Share on other sites

This has been talked about lots and lots and lots and lots and lots and lots. The problem is that physics is currently only handled by one CPU core...when the average user has two, three and four cores...or more, even :o

However, SQUAD can't do very much to thread the physics calculations across multiple cores. It's a limitation with the Unity engine and one that I"m certain the Unity developers are working on.

So, until Unity gets updated to allow multi-core physics processing, we're kind of doomed to excessive lag with large numbers of parts being in your general vicinity all at once.

Link to comment
Share on other sites

I think that there could be ways around the "lag" that could be relatively easy to implement. (compared to an entirely new physics engine.)

1. don't calculate the physics of stationary objects on the ground. This could be implemented by saying X base is sitting on its lander legs and going 0.0m/s, so turn off physics of all objects in the flight. Additionally you could just turn off physics of everything except fragile, breakable objects (eg:solar panels). This means that you could have much bigger bases limited by your gpu's ability to render them rather than cpu's ability to calculate the physics of stationary objects. (Also I read somewhere that the biggest lander legs are already physics neutral or something)

2. calculate space station physics in chunks, like module A + module B + etc. this would mimic the realism of the station maneuvering but once again lighten up on the load on your CPU.

3. eventually get around to a potential 64-bit/easily convertable unity-physics-plugin or other such options. But 1 and 2 should be the way to go.

Link to comment
Share on other sites

I think that there could be ways around the "lag" that could be relatively easy to implement. (compared to an entirely new physics engine.)

1. don't calculate the physics of stationary objects on the ground. This could be implemented by saying X base is sitting on its lander legs and going 0.0m/s, so turn off physics of all objects in the flight. Additionally you could just turn off physics of everything except fragile, breakable objects (eg:solar panels). This means that you could have much bigger bases limited by your gpu's ability to render them rather than cpu's ability to calculate the physics of stationary objects. (Also I read somewhere that the biggest lander legs are already physics neutral or something)

2. calculate space station physics in chunks, like module A + module B + etc. this would mimic the realism of the station maneuvering but once again lighten up on the load on your CPU.

3. eventually get around to a potential 64-bit/easily convertable unity-physics-plugin or other such options. But 1 and 2 should be the way to go.

1: that wouldnt be really what KSP is about. You just have inertia in space, no matter how small a part is. therefore you would remove realism for some performance gain (which i doubt will happen).

2: Same as above...

3: How would you do that? KSP loads all modules and therefore those modules run under the same limitation as the main game. Granted.. you could write a server/client program (if possible with the modding limitations) that could outsource SOME stuff to an external program.. but i dont think its within the scope of mods to outsource all physics.. and i wouldnt like to see that happen..

So here, again as in a few hundred thousand other threads is just one advise: Just keep waiting. its ZERO point twentyone NOT ONE point twentyone..

Link to comment
Share on other sites

1: that wouldnt be really what KSP is about. You just have inertia in space, no matter how small a part is. therefore you would remove realism for some performance gain (which i doubt will happen).

-snip-

3: How would you do that? KSP loads all modules and therefore those modules run under the same limitation as the main game. Granted.. you could write a server/client program (if possible with the modding limitations) that could outsource SOME stuff to an external program.. but i dont think its within the scope of mods to outsource all physics.. and i wouldnt like to see that happen..

So here, again as in a few hundred thousand other threads is just one advise: Just keep waiting. its ZERO point twentyone NOT ONE point twentyone..

I know that this is still "alpha" and I totally agree/support the realism that makes this game great; and I'm just providing a suggestion with regards to stationary objects/bases on planets that are still calculating physics but aren't moving actually moving. Plus this would only take effect one all of the criteria are met ingame. (ie:not moving, on landing legs, etc) This could be a potential drain on performance that I think it may be worth looking into. (So bases may end up being larger than stations) I have little experience in physics-specific programming, but I do know that swapping to any other physics engine (and none really exist as unity plugins for SQUAD's purposes) other than what currently exists would be a HUGE task; hence my third point in which I was trying to point out that there are potentially other options to increase performance, and that those should take precedence at least in consideration over any massive undertakings if the existing engine can be optimized.

Who knows what the future holds, I'm having fun with smaller ships and stations now and have no complaints, so I'm sure I'll enjoy whatever KSP eventually evolves into. Just trying to brainstorm ideas :)

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