Jump to content

The war against lag: Anti-lag fairings


Recommended Posts

And I can't get past the fact that people keep claiming this as a "fact" instead of actually reading what was proposed. The proposal does not call for the fairings to be invincible.
But the fairing itself is vulnerable.

I'm not implying in any way whatsoever that the fairing would be invincible. It's just that we get right back to the issue of strutting things into oblivion, an act which is significantly easier to do on a simply shaped fairing. And from there, we are left with a nearly invincible payload because of its shield and another strutted mess like before. Also, while we are assuming that once in space the part count will be low enough that the payload doesn't matter, remember: The largest conglomerations of parts are not only at the bottom, but at the top, because of how intricate payloads can become. For those who desperately need this, it's likely that the high part count of a payload is still going to cause framerate issues unless it's a very simple piece such as a small satellite or small Mun rover. For interplanetary journeys and larger payloads, the problem will still remain for many.

It just seems like a band-aid fix to a problem, frankly. What needs to be done to address this problem is doublesided: first, KSP needs to have multicore support, which does not seem forthcoming in the near future, but may be somewhere down the line. When that rolls along, this entire fix would become obsolete as KSP wouldn't be unnecessarily bottlenecking itself. Second, the connections in general need to be less wobbly. This is a tough one because many updates ago, Squad removed part collisions on the same vessel which allowed much more wobble because things could wiggle through each other rather than being stopped by each other. When a solution is found to this and Unity implements multicore support, this fairing solution will be obsolete, andeven now it can be used for exploitation which is not something any developer would want in a fix. Furthermore, I personally think it's bad practice to add something in when it's known it will be removed later on, unless it's pretty much mandatory to make the game playable - and that's not the case. Breaking up payloads into separate flights DOES work for small to medium payloads, and for large payloads, if you use multiple docking ports (which isn't that hard, really) you greatly reduce any wobble. In fact, just three jr. docking ports can prevent almost all wobble if they are placed in a wide enough triangle along a payload. And the new ASAS also greatly reduces wobble by itself.

Link to comment
Share on other sites

What do inaccuracies in sped up physics have to do with this? We're freezing it, not speeding it up.

Actually, we're saving CPU so that the rest of the rocket can simulate lagless AND accurately.

ACTUALLY. I was referring to the fact that the MOMENT you "EJECT" the fairings, that you would have to calculate INSTANTLY of whatever is under the fairing. Hence sped up physics.

Speculation.

An entire rocket can go from frozen to an acceleration of 9.81 without spazzing out.

Why would a part of a rocket not be able to unfreeze, especially in zero-G?

You obviously don't understand the difference between timewarp and physics warp. You can't just selectively pick and choose what does and what doesn't get affected by physics. It is not within unity's power to do so as an engine. Time warp is physics OFF for every single object by means of Rails. It sets its altitude, velocity, and locks it to that. Nothing can affect it, not even other matter. Launch a ship one direction around kerbin, and then another in the direct opposite direction. Make them collide, and time warp. They will ignore eachother like they weren't even there. That's why you can't timewarp close to a planet, or you will go right on though it.

Physics warp is the increase of calculations per second. This results in "time being sped up" but at a loss of accuracy.

The problem of course does not lie in the ability to time warp, but in the ability to load 50-100 parts INSTANTLY the moment you eject the fairing. If you load that with physics calculations on, that will load them each at different rates and as a result, some parts go "KABOOM" because the part they are attached to loaded after they did. It isn't speculation.

Such a fundamental engine change is not gonna happen.

You need to do some more research. All that is needed to allow all 4 cores and unlocked ram amount for kerbal to utilize is a x64 version of Unity that isn't game breakingly buggy. There already is a x64 version of kerbal on Linux.

Edited by Zaeo
Link to comment
Share on other sites

You need to do some more research. All that is needed to allow all 4 cores and unlocked ram amount for kerbal to utilize is a x64 version of Unity that isn't game breakingly buggy. There already is a x64 version of kerbal on Linux.

Um, sorry but that's not true. Making the physics engine use >3.5GB of RAM and making it use multiple cores are two VERY different issues. A x64 version will give you (for our purposes) no limit on the RAM, but it will still be locked to a single core. To have multicore physics, the entire physics engine would have to be re-written with parallelizable code.

(I was bored so I decided to rejoin the discussion)

Edited by chaos_forge
Link to comment
Share on other sites

  • 2 months later...

Ok...you can launch anything.

BUT...

What if you remove fairings because your in orbit now?

Answer:

A big fps impact again.

So..sorry to say that..it does not really make a big difference to me^^

I would say making several parts working as one part does make more sense. You stick them togehter in VAB as usual. But then, some parts are working and therefore simulated as one part, would be nice.

And/Or in combination with suggestions of Post #1

But only for launching this to orbit where you cant use them anymore coz you remove fairings...sorry..does not really make sense to me. I can launch..but as soon as I remove fairings, I need to start new games because I got fps impacts again :confused:

Edited by Duke-49th
Link to comment
Share on other sites

When you eject the fairings (in orbit) you will have already greatly reduced the part count compared to what it was on the pad, because you will have been staging your rocket.

The objection that the game would have to load all the physics when the fairing is ejected and that this is impossible is clearly false, because the game already does this when you first put a rocket on the Launchpad. Yes, this may involve a couple of seconds of lag right at that moment, but that's better than constant lag.

At first I was opposed to this idea because it would make launching big fragile payloads not just less laggy, but also *much* too easy, since you would no longer have to worry about structural integrity. But as long as the fairing adds a significant amount of mass (more mass the bigger the fairing) to simulate mass that you would normally have to spend on girders etc, I'm less opposed to it.

HOWEVER....

What's to stop me from enclosing not just my payload, but also entire stages of my rocket in these fairings? Now I can launch truly ridiculously huge things without having to overcome any of the challenges of shear stresses, thrust imbalance, etc, that often simply cannot be overcome without careful engineering, and sometimes cannot be overcome at all.

For example, in order to lift 750 tons into orbit (see sig) I had to come up with an engineering solution - the thrust plate. I had to design a plate that worked well. This was a challenge that I had to come up with a solution for. If I wrapped stages of my rocket in these fairings, I would no longer have to come up with that solution.

Link to comment
Share on other sites

If we're going to necro this thread, we should quickly point out that tweakables should do a lot to reduce a lot of the number of parts needed, both before the payload and within the payload, since you will be able to make custom sized parts.

However, it's considered bad form for necro-ing a thread. This should possibly be locked (especially seeing as I seemed to kill the conversation last time!).

Link to comment
Share on other sites

If we're going to necro this thread, we should quickly point out that tweakables should do a lot to reduce a lot of the number of parts needed, both before the payload and within the payload, since you will be able to make custom sized parts.

I'm pretty sure tweakables is more about selecting if you want a tank to start empty or full, or what LF - O ratio, or if your landing legs start deployed or not, rather than being about reshaping parts.

I do like this idea though. I suspect it would work like KAS's storage containers- as the parts inside are unloaded, you can't make use of them until you get them out.

You can't just selectively pick and choose what does and what doesn't get affected by physics. It is not within unity's power to do so as an engine.

I'm by no means a Unity expert, but couldn't you do exactly that by changing some ridgidbodies to kinematic (they only make programed movements), but leaving others non-kinematic (affected by physics)?

Link to comment
Share on other sites

I realize this thread is a few months old but I do like the idea.

What's to stop me from enclosing not just my payload, but also entire stages of my rocket in these fairings? Now I can launch truly ridiculously huge things without having to overcome any of the challenges of shear stresses, thrust imbalance, etc, that often simply cannot be overcome without careful engineering, and sometimes cannot be overcome at all.

Presumably anything inside the fairings would be inoperable, so it doesn't really matter if you put entire stages into them since those rockets won't be operable until the fairing is removed. That also means any fins, RCS thrusters or reaction wheels will also be inoperable.

Center of mass can be accounted for, so you'd still need to have everything inside balanced, alternatively, you could automatically add balancing mass into the fairing to bring the CoM inline, of course making the whole thing heavier. once the fairing is gone you lose that balancing mass.

Objections based on "fragility" are entirely moot: The fairings would provide all the internal support required.

Loading lag can also be disguised a bit by deliberately adding a countdown delay between the commend to jettison and the actual operation. That might be a good idea anyway if you also have the ability to cancel it.

=Smidge=

Link to comment
Share on other sites

Ok...you can launch anything.

BUT...

What if you remove fairings because your in orbit now?

Answer:

A big fps impact again.

So..sorry to say that..it does not really make a big difference to me^^

I would say making several parts working as one part does make more sense. You stick them togehter in VAB as usual. But then, some parts are working and therefore simulated as one part, would be nice.

And/Or in combination with suggestions of Post #1

But only for launching this to orbit where you cant use them anymore coz you remove fairings...sorry..does not really make sense to me. I can launch..but as soon as I remove fairings, I need to start new games because I got fps impacts again :confused:

...Necro. -.-

Link to comment
Share on other sites

Nice idea, but A) it's been discussed before B) Kinda OP, you could build spaghetti ships that would never work according to any laws of physx and be fine C) Think of the spike when you separated them! On less powerful computers with big ships, it has a high chance of crashing.

Link to comment
Share on other sites

With the whole "lag spike in space", sure your station module AND launcher combined might mean <5fps during launch, but when you open the fairing in space the only thing left is the module and most likely the last stage to perform maneuvers with. Know-one seems to realize the fact that most of your launcher will be gone by the time you open the fairing.

The whole point of the anti-lag fairing is to reduce lag until payload sep, and by that time the part count should be low enough for the fps to improve.

Link to comment
Share on other sites

I've had a wee think about this, and although it's a clever workaround, the main cause of lag (I feel) is excessive strutting. For my bigger creations, I have at least 5 struts per fuel tank cross bracing them together, and a nice network around any stage separators. I'd hazard a guess that they probably at least double, perhaps triple my part count. I think my problems could be better solved by Kerbal Joint Reinforcement. That would cut down on my strutting big-time, but also have far less potential for abuse (unless I start going into the .cfg files and changing properties at will, but you can do that in vanilla as well)

Link to comment
Share on other sites

only way to kill lag is to have the game at startup calculate how many parts it can support on the specific hardware/software mix it's currently running on and refuse to let the user create or launch anything bigger, refuse to allow any 2 vehicles to get without visual range that together would exceed that number.

So say it's going to come up with a number of 200 for your specific configuration, and you want to dock 2 150 part ships together?

Tough luck, the moment you get within a few kilometers of each other, the game would refuse to let you go on and just send you back to the space center.

Link to comment
Share on other sites

This is not any more OP than welding the parts together using the welding tool.

To me, launching is a grind, and the exciting stuff happens in space. I'll talk to UbioZur to see what he thinks of this idea.

Link to comment
Share on other sites

only way to kill lag is to have the game at startup calculate how many parts it can support on the specific hardware/software mix it's currently running on and refuse to let the user create or launch anything bigger, refuse to allow any 2 vehicles to get without visual range that together would exceed that number.

So say it's going to come up with a number of 200 for your specific configuration, and you want to dock 2 150 part ships together?

Tough luck, the moment you get within a few kilometers of each other, the game would refuse to let you go on and just send you back to the space center.

It's not about killing lag completely (that's probably impossible), just reducing it by non game-breaking means, which I think is perfectly reasonable. I'd much rather the game lagged a bit than dictated to me what I could and couldn't do based on part counts, however, if there's a sensible way we can reduce lag, I think it should be done.

Link to comment
Share on other sites

  • 8 months later...
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...