Jump to content

kesslar syndrome affect performance?


Recommended Posts

i have a crap ton of debris in orbit, and my framerate is pretty junk sometimes (almost any time im on the mun i get <20fps) and i was wondering if the crap ton of crap in orbit has an affect on this?

im also begining to think that part of my framerate issues at my mun surface base are due to the fact that i have various bits and bobs of debris orbiting over it that occasionally pass into physics range(i think, i can see the colored square moving overhead)

Link to comment
Share on other sites

Each vessel on rails affects performance a little bit. Debris are vessels. Therefore yes they can. Though young need a lot to notice it. A hundred at least one think. Probably more.

Does your base have lots of open docking ports? Those are nasty on the processor as well.

Link to comment
Share on other sites

You can adjust how much debris the game keeps around in your settings.  It will only track however many you set.  Once you hit that limit, every time you create a new piece of debris, the oldest one is deleted.

Default is 250.  IIRC Range is 0 - 10000

Edited by Geonovast
Link to comment
Share on other sites

2 hours ago, 5thHorseman said:

Each vessel on rails affects performance a little bit. Debris are vessels. Therefore yes they can. Though young need a lot to notice it. A hundred at least one think. Probably more.

Does your base have lots of open docking ports? Those are nasty on the processor as well.

The  base  is 150 parts, 50 or  so  parts  split  into  two  docked  rovers  and  a  biome  Hopper.

It  only  has  two  open  ports, then  the  two  ports  attached  to  the  rovers

Link to comment
Share on other sites

8 hours ago, 5thHorseman said:

Does your base have lots of open docking ports? Those are nasty on the processor as well.

Incoming tangent: Really? Why on earth would "open" (I assume meaning not docked to anything, i.e. state=ready) docking ports impact performance more than another non-docking part? There's got to be some proper crazy in them there smoke-routing instructions if this is true.

Link to comment
Share on other sites

1 hour ago, steve_v said:

Incoming tangent: Really? Why on earth would "open" (I assume meaning not docked to anything, i.e. state=ready) docking ports impact performance more than another non-docking part? There's got to be some proper crazy in them there smoke-routing instructions if this is true.

Edge case example and discussion here.

I assume "open" means not closed like a shielded or in-line clamp-o-tron can be.

Edited by mystifeid
Link to comment
Share on other sites

1 hour ago, steve_v said:

Incoming tangent: Really? Why on earth would "open" (I assume meaning not docked to anything, i.e. state=ready) docking ports impact performance more than another non-docking part? There's got to be some proper crazy in them there smoke-routing instructions if this is true.

Yeah. Computing things takes time. 2 docking ports near each other have to keep asking each other if they're close enough to dock. 3 of them need to ask each of the other 2, or 3 total questions. 4 of them ask 6 questions, 5 of them ask 10 questions, 6 of them 15 questions, etc. You have to ask x+y questions, for each new docking port, where X is the previous number of questions and Y is the old number of docking ports. So 7 would be 15+6=21 questions.

This is 21 more calculations per frame than a ship with 7 - say - cubic octagonal struts needs to ask. So of course it hurts frames.

Link to comment
Share on other sites

Just now, 5thHorseman said:

Yeah. Computing things takes time.

Indeed it does. And doing it the way you describe, every single frame, even for ports on the same craft that can never align... That's going to scale extremely poorly with part-count.
Checking distance between ports attached to opposite ends of the same craft, every single frame... :confused:

Link to comment
Share on other sites

4 minutes ago, 5thHorseman said:

Yeah. Computing things takes time. 2 docking ports near each other have to keep asking each other if they're close enough to dock. 3 of them need to ask each of the other 2, or 3 total questions. 4 of them ask 6 questions, 5 of them ask 10 questions, 6 of them 15 questions, etc. You have to ask x+y questions, for each new docking port, where X is the previous number of questions and Y is the old number of docking ports. So 7 would be 15+6=21 questions.

This is 21 more calculations per frame than a ship with 7 - say - cubic octagonal struts needs to ask. So of course it hurts frames.

would the docking ports on the same ship have the same problem? im assuming if they are on the same ship they wouldnt be communicating as theirs no point, since ships cant dock with themselves. or maybe im wrong on that.

anyways, are these ports to close together? im assuming they would have to be close enough to eachother for them to start their magnet dance. theirs a port at the end of each arm.
NOFAftr.png

and also, about framerate, i read somewhere that if you play the game outside of your screens native resolution it can cause framerate problems, is this true? i game on a 2160p 120hz screen, but i have my windows resolution at 1920x1080, same as the game.

Link to comment
Share on other sites

Just now, steve_v said:

Indeed it does. And doing it the way you describe, every single frame, even for ports on the same craft that can never align... That's going to scale extremely poorly with part-count.
Checking distance between ports attached to opposite ends of the same craft, every single frame... :confused:

All you need to do is write the code that tells a port it can totally ignore another port for all time.

And then wait for the IR crowd to write the hate mail.

Or, code to check those ports for very simple things like "are you aimed in my direction" to rule out some ports and spend less (not no) time doing the checks.

1 minute ago, putnamto said:

would the docking ports on the same ship have the same problem? im assuming if they are on the same ship they wouldnt be communicating as theirs no point, since ships cant dock with themselves. or maybe im wrong on that.

Ships can dock with themselves. People use (used to use? I've not seen it in a long time) a trio of docking ports to make very stable connections on very large space stations.

---

I'm not sure but think docked ports and closed ports don't count. Just open ones.

And to be absolutely clear: I don't know how KSP does the calculations or how often it does. I *do* know 2 things however:

  1. Docking ports slow down frames, and the more you have the worse it is on a growing scale.
  2. Most of the time, if something looks easy to code it's because you don't know the details.
Link to comment
Share on other sites

3 minutes ago, 5thHorseman said:

 

I'm not sure but think docked ports and closed ports don't count. Just open ones.

i looked into it earlier and a redditor had done a test, docked ports, and closed ports act the same and cause no change, open ports do.

he did something like 34 ports undocked, then docked and measured fps or something.

Link to comment
Share on other sites

28 minutes ago, 5thHorseman said:

code to check those ports for very simple things like "are you aimed in my direction" to rule out some ports and spend less (not no) time doing the checks.

Indeed, but from the linked test that sure doesn't look to be what's happening here.

 

28 minutes ago, 5thHorseman said:

And to be absolutely clear: I don't know how KSP does the calculations or how often it does.

From the performance impact, I'd almost be willing to bet that it's a simple brute force "loop through all ready ports on everything in physics range every update".

 

28 minutes ago, 5thHorseman said:

I don't know how KSP does the calculations or how often it does.

Neither do I, but I do know that a heap of stuff is done on an update trigger that runs every frame. A heap of stuff that I can't imagine needing to do so every 20ms or so.
If it's checking docking conditions this frequently, that's just wasteful.

28 minutes ago, 5thHorseman said:

Most of the time, if something looks easy to code it's because you don't know the details.

Indeed. None of us can go look at the source to find out though, so it's kind of a moot point.

 

Aside, has anyone filed this on the bugtracker? It's not really a true bug, but it'd fit in as an RFE.

Edited by steve_v
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...