ferram4 / Ferram-Aerospace-Research

Aerodynamics model for Kerbal Space Program
Other
239 stars 131 forks source link

"Updating vessel voxel" spam in log, attendant lag #80

Closed damerell closed 9 years ago

damerell commented 9 years ago

I hit an interesting issue today where KSP hiccuped every second (pausing for a small but perceptible interval), and the debug log contained:

"Updating vessel voxel for VesselName"

every second.

A bit of experimentation showed this wasn't happening straight out of the VAB, but I could induce it on the vessels I was testing by deploying a deployable solar panel of the restowable type. To be clear, the lag and log spam continued even once the panel had completed its movement, even if the panel was then restowed.

I'll gladly provide any more information you need; but I don't know what that would be.

ferram4 commented 9 years ago

Could you reproduce this reliably? If not, then i suspect this is a duplicate of #74. Otherwise, tell me what panel it was and all the other mods you're running.

damerell commented 9 years ago

I could. I'd been building a rover as a series of prototypes, and went back and tested the earlier ones when I noticed the issue. I'm pretty sure it was reliably produced by unfolding a panel; the only thing I couldn't swear to is that it might start when the panel is restowed, because I usually did that immediately afterwards in testing.

The panels are the stock 1x6 SP-L part.

Unfortunately, I'm off to Leipzig for a few days so can't immediately provide a list of the other mods, but when I return I'll do so, see if I can reproduce it with a smaller mod list, try other panels, etc.

damerell commented 9 years ago

I have a hypothesis about what's going on. As far as I know, FAR updates the vessel voxel when something changes shape. So far, so good, but deployable solar panels change shape constantly when the vessel is moving relative to the sun - and to test my rovers, I drive them around. This would suggest it doesn't do it when the rover is parked - but then the small pauses would be much less noticeable because the vessel is stationary anyway.

I'm not sure what to suggest - this is, after all, working as intended, but also very annoying - except that as an interim measure, FAR could be less aggressive about voxel calculations in a vacuum. Since deployable panels can't be used sensibly in flight, the issue would then only affect rovers on worlds with atmospheres.

ferram4 commented 9 years ago

I cannot reproduce the issue in the latest dev build following your steps. In addition, FAR does not revoxelize when solar arrays turn; there is no event to cause it. Under these circumstances, it seems to really just be a duplicate of #74, so I'll close this.

damerell commented 9 years ago

Sorry to bring this up again, but I now seem to be able to produce the issue in the current FAR (8ba2f4f52a @ferram4 ferram4 authored May 24, 2015) by switching an Illuminator Mk 2 on and off. Completely stock, aside from FAR.

ferram4 commented 9 years ago

Lights turning on / off is, unfortunately, an animation and so will cause voxelization events. The voxelization events continue even after the light has finished turning on / off though? Then it should also be reproducible with landing gear and cargo bays as well.

damerell commented 9 years ago

They continue after it's finished - not entirely consistently, but about one time in two. If I then switch vessel (by going EVA) and back again (by reboarding) the events will always have stopped, but flicking the lightswitch again will start them up again.

ferram4 commented 9 years ago

I can only reproduce the issue turning it off. It never occurs turning it on; does this match what you see?

damerell commented 9 years ago

It does now; turn it off, voxelisation forever. Turn it on, about 8 ticks.

I'm sorry I've been rather unreliable with observations of this issue.

ferram4 commented 9 years ago

Hehe, no problem. I could actually reproduce something, which makes this infinitely more useful than any of the others.

ferram4 commented 9 years ago

So, this was fairly easy to fix, although it's something of a stopgap fix (which I don't like), but it works.

Basically what was happening was that when a light is turned off, the turning off animation slows down as it approaches "off," extending the animation for who knows what reason. Anyway, this isn't visible, but it was enough of a change in the animation state to trigger FAR's revoxelization on anim code, so there's the spam. Raising the tolerance fixed that.

agustincaniglia commented 5 years ago

I have that spam allways. And when I build a big ship it seems that every time I click on a part I have a freeze. Log allways filled with those messages... today on 1.7.2