PerformanceKSP2 is Calculating the Physics of all Parts of all Crafts Whether They are Rendered or Not, Reducing Performance of all Scenes at all Times.
KSP2 Version: 0.1.0.0.20892 KSP2 Version: 0.1.1.0.21572 KSP1 Version: 1.12.5 + DLCS Operating System: Windows 10 CPU+GPU+RAM: i9 9900K+3070ti+32GB Mods Used: Lazy Orbits to cheat crafts into orbit and planets (removed for actual testing)
Expected Behaviour:
That when a craft isn't rendered the game treats 1 craft as one entity (no matter how many parts it has) and that the craft is on rails to improve overall performance. Observed Behaviour:
That KSP2 is calculating the physics of all parts of all crafts whether they are rendered or not causing performance issues.
How Evidence Was Compiled:
I did the following for KSP1 and KSP2:
Put 8 1000 part crafts in orbits around different planets/moons
Put a 1 part craft on the surface of Vall
I recorded the ms/frame (KSP2) or FPS (KSP1) for 8001 parts while having only the 1 part craft in scene on Vall.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 7001 and then tested on Vall again.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 6001 and then tested on Vall again.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 5001 and then tested on Vall again.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 4001 and then tested on Vall again.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 3001 and then tested on Vall again.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 2001 and then tested on Vall again.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 1001 and then tested on Vall again.
Went to the tracking station and deleted 1 1000 part craft reducing the part count total to 1 and then tested on Vall again.
I recorded all of the results and put them into a graph.
Note I converted the FPS of KSP1 to ms/frame. (Mortoc shout out for that)
Conclusion:
KSP1 only calculates 1 craft as 1 part when it isn't rendered and is out of physics range.
KSP2 calculates the physics of every part of every craft in a save causing performance issues the more total parts there are in a save file.
Additional Information:
Note how useful a Set Orbit/Set Position (from KSP1) option would be for these kinds of tests if it was added to KSP2?
Using mods for bug reports makes me feel uncomfortable but currently I can't do this type of bug report without Lazy Orbits.
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.
Bug Report
Anth12
KSP2 Version: 0.1.0.0.20892
KSP2 Version: 0.1.1.0.21572
KSP1 Version: 1.12.5 + DLCS
Operating System: Windows 10
CPU+GPU+RAM: i9 9900K+3070ti+32GB
Mods Used: Lazy Orbits to cheat crafts into orbit and planets (removed for actual testing)
Expected Behaviour:
That when a craft isn't rendered the game treats 1 craft as one entity (no matter how many parts it has) and that the craft is on rails to improve overall performance.
Observed Behaviour:
That KSP2 is calculating the physics of all parts of all crafts whether they are rendered or not causing performance issues.
How Evidence Was Compiled:
I did the following for KSP1 and KSP2:
Video Evidence:
Note I have timestamped each performance test for faster navigation of the videos.
KSP1: https://youtu.be/v8Q8LkIPu_s?t=12
KSP2: https://youtu.be/W-syZ8Vdt7o
Results from Videos on a Graph (lower is better):
Note I converted the FPS of KSP1 to ms/frame. (Mortoc shout out for that)
Conclusion:
KSP1 only calculates 1 craft as 1 part when it isn't rendered and is out of physics range.
KSP2 calculates the physics of every part of every craft in a save causing performance issues the more total parts there are in a save file.
Additional Information:
Note how useful a Set Orbit/Set Position (from KSP1) option would be for these kinds of tests if it was added to KSP2?
Using mods for bug reports makes me feel uncomfortable but currently I can't do this type of bug report without Lazy Orbits.
Files:
KSP2 8001 part save
KSP1 8001 part save
KSP2 1000 part craft (Appears that 0.1.1.0 thinks this is now too big to launch from the VAB)
https://www.dropbox.com/sh/g5a5214kmgo04bl/AADXpu_9168fl3XavdlIASOja?dl=0
Link to comment
Share on other sites
15 answers to this question
Recommended Posts
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.