This object is in archive! 

Grids with hydrogen thrusters decrease simulation speed after Warfare 2 update (but not before)

Macayla Matherson shared this bug 2 years ago
Solved

The most recent update has caused some (not all) large grids with hydro thrusters to drop sim speed, however, When moving forwards (or any direction in general) the sim speed will drop to about .3. Sim speed is affected even with only 4 hydrogen thrusters on the entire grid, and only improves to 1.0 upon removal of all thrusters


A good ship for example is Papple2's Octavia III: https://steamcommunity.com/sharedfiles/filedetails/?id=2557568180&searchtext=Octavia+III

Replies (12)

photo
3

I have a similar issue just it effect any of my ships larger than 5,000 blocks, any ship above that usually is useless, anything with a large number of hydrogen thrusters now destroys the game, this is a bit of an extreme example but I had a 71000 block dreadnought that flew in atmosphere, the sim speed was .80 moving it around, now... the game simply crashes. Smaller ships experience massive, massive lag.

photo
3

I have a very similar issue. Whenever a ship with large amounts of hydrogen thrusters thrusts in a direction, the sim speed is heavily affected, FAR more than it used to be. For example, one of my ships used to bring sim speed to around 0.9 when it moved, now it brings it down to 0.08.

photo
2

Felt the same here. Literally a small grid fighter that I used to always fly around in servers now drops sim to 0.5 if moved. And mind you, this is a fairly normal sized fighter, the instant I spawn a capital ship the sim drops so low that it takes minutes for me to delete it. Would love to see this fixed

photo
3

It's such a painnnn!!

photo
1

It'll probably help if you guys post any blueprints that you have the problem with. The easier it is for Keen to reproduce the issue, the better the chances it'll get fixed.

photo
1

Read all of the report

photo
4

The hydrogen thruster bug has now been in the game for like 4 years . From what we gathered running an SE server its to do with hydrogen draining from a tank through conveyers. The bug is completely solved by running a No fuel mod . Warfare somehow magnified the issue 10 fold to now effective even offline worlds being local hosted .

Now I know the situation with SE bugs having an enormous backlog however this seriously needs to be addressed its game breaking .

photo
2

Thank you sooo much for letting us know!

photo
1

Useful info, thank you very much.

photo
4

The hydrogen thruster bug has now been in the game for like 4 years . From what we gathered running an SE server its to do with hydrogen draining from a tank through conveyers. The bug is completely solved by running a No fuel mod . Warfare somehow magnified the issue 10 fold to now effective even offline worlds being local hosted .

Now I know the situation with SE bugs having an enormous backlog however this seriously needs to be addressed its game breaking .

- Posted twice apologies this forums layout is a bit confusing .

photo
5

I spent some time profiling the problem this afternoon, and seem to have found the issue. See attached world and trace for details. Spawn at the detailed survival kit, jump in the cockpit right next to you and just hit W to thrust forward, observe sim speed dropping.

Run dottrace on the game while thrusting, you'll find a lot of time is spent in:


MyEntityThrustComponent.RecomputeThrustParameters()

Be advised that this method is called from both grid updates and MyPlayerJetpackComponent.TurnOnJetpack(), and just throttling the above method completely breaks player jetpack usage.

photo
1

Tested the following workaround: Allowing to call MyEntityThrustComponent.RecomputeThrustParameters() only if the change in ControlThrust is over 1% compared to the latest value when the recomputation was allowed to happen. The fix also allows for recomputation on zeroing the ControlThrust, regardless of its former value.

You can find the patch fixing the CPU load issue in the Performance Improvement plugin's code on GitHub as an example:

https://github.com/viktor-ferenczi/performance-improvements

Look for a class: MyEntityThrustComponentPatch

photo
1

dotTrace call stacks for the critical part.

photo
1

Hello, Engineers!


I would like to thank everyone for very nice cooperation!


We were able to reproduce the issue and forwarded to our programmer team.


Kind Regards,

Keen Software House: QA Department

photo
2

While working on a fix in the Performance Improvements plugin I managed to narrow-down the issue to the following:

  • MyEntityThrustComponent.MarkDirty is called in cases when there is no relevant change to thruster controls. Introduce a change threshold relative to the previously considered value (the recalculation was running for), so it does not happen for an 1e-6 change.
  • The recalculation runs continuously as long as the player is pressing a thrust control key. This is despite the actual thrust control level does not change at all. This is because in MyShipController.UpdateAfterSimulation the control thrust is always reset to zero.
  • There are similar issues with thrust override (hold down the left mouse button on the slider) and possibly for the autopilot thrust.
  • The planetary influence calculation mistakenly runs on every single tick, instead of the 100 ticks originally intended. It is because of calling MarkDirty basically unconditionally (When two double values will be exactly equal??) at the end of RecalculatePlanetaryInfluence, which resets the m_nextPlanetaryInfluenceRecalculation member variable back to zero, forcing an influence calculation right on the next tick.

Please fix it in the original game. Thank you!

photo
1

I can confirm that game version 1.200.030 fixes the CPU overhead.

photo
1

Great fix! All my ships work again! I am happy to see the developers really do care!

photo
1

Fixed in 200.030

Replies have been locked on this page!