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.
Reported Version: v0.1.4 (latest) | Mods: Lazy Orbits was used to create the 8001 test save then removed | Can replicate without mods? Yes OS: Windows 10 | CPU: i9 9900K | GPU: 3070ti | RAM: 32GB
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.
Note: This behavior might be different then a craft is using its engines. Observed Behaviour:
That KSP2 is calculating the physics of all parts of all crafts whether they are rendered or not, causing performance issues.
3 Tests: What the tests will prove: Test 1 will show KSP1 maintaining maximum performance regardless of how many parts there are in the save when theres only a 1 part craft in scene. Test 2 will show KSP2 with a massive drop in performance which is directly related to the amount of parts in a save no matter if they are rendered or not. (Used the Lazy Orbits Mod) Test 3 will show similar to test 2 (Lazy Orbits Mod Not Used)
Test 1 + 2: KSP1+KSP2 8x1000 part crafts being deleted one at a time while focused on a 1 part craft on Vall. (Includes Videos + Save File)
Spoiler
Note that the 1000 parts are made up of 999 truss segments + 1 probe to stop it being counted debris.
I did this to attempt to stop the game from excessively using the resource system.
I did the following:
Put 8x1000 part crafts in orbits around different planets/moons using Lazy Orbits
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 1x1000 part craft reducing the part count total to 7001 and then tested on Vall again.
Went to the tracking station and deleted 1x1000 part craft reducing the part count total to 6001 and then tested on Vall again.
Went to the tracking station and deleted 1x1000 part craft reducing the part count total to 5001 and then tested on Vall again.
Went to the tracking station and deleted 1x1000 part craft reducing the part count total to 4001 and then tested on Vall again.
Went to the tracking station and deleted 1x1000 part craft reducing the part count total to 3001 and then tested on Vall again.
Went to the tracking station and deleted 1x1000 part craft reducing the part count total to 2001 and then tested on Vall again.
Went to the tracking station and deleted 1x1000 part craft reducing the part count total to 1001 and then tested on Vall again.
Went to the tracking station and deleted 1x1000 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.
Test 3: KSP2 10x250 part crafts being deleted one at a time while focused on a 1 part craft on the Mun (Includes Video + Save File)
Spoiler
The 250 part crafts were made up of the ball tanks R-4 Dumpling, standard tanks, vector, pod and landing legs etc
I needed to actually launch it into space and the truss segments were going to be problematic.
I did the following:
Launched 10x250 part crafts with infinite fuel on into Kerbin low orbit
Launched a craft and landed on the Mun and decoupled parts so it ended up 1 pod
I recorded the ms/frame (KSP2) or FPS (KSP1) for 2501 parts while having only the 1 part craft in scene on the Mun
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 2251 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 2001 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 1751 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 1501 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 1251 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 1001 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 751 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 501 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 251 and then tested on the Mun again.
Went to the tracking station and deleted 1x250 part craft reducing the part count total to 1 and then tested on the Mun again.
I recorded all of the results and put them into a graph.
Video Evidence: (Time stamped after each deletion for faster navigation) KSP2: 0.1.4.0 https://youtu.be/uEFy6o8bOOg
KSP1 only calculates 1 craft as 1 part when it isn't rendered and is out of physics range regardless of its part count.
KSP2 calculates the physics of every part of every craft in a save causing performance issues the more parts there are in a save file.
Additional Information:
Colonies has the potential to have players using a lot more than 8000 parts in a save file.
This will affect performance even more severely and also means for longer and longer load times.
Bug Report
Anth
Reported Version: v0.1.4 (latest) | Mods: Lazy Orbits was used to create the 8001 test save then removed | Can replicate without mods? Yes
OS: Windows 10 | CPU: i9 9900K | GPU: 3070ti | RAM: 32GB
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.
Note: This behavior might be different then a craft is using its engines.
Observed Behaviour:
That KSP2 is calculating the physics of all parts of all crafts whether they are rendered or not, causing performance issues.
3 Tests:
What the tests will prove:
Test 1 will show KSP1 maintaining maximum performance regardless of how many parts there are in the save when theres only a 1 part craft in scene.
Test 2 will show KSP2 with a massive drop in performance which is directly related to the amount of parts in a save no matter if they are rendered or not. (Used the Lazy Orbits Mod)
Test 3 will show similar to test 2 (Lazy Orbits Mod Not Used)
Test 1 + 2: KSP1+KSP2 8x1000 part crafts being deleted one at a time while focused on a 1 part craft on Vall. (Includes Videos + Save File)
Note that the 1000 parts are made up of 999 truss segments + 1 probe to stop it being counted debris.
I did this to attempt to stop the game from excessively using the resource system.
I did the following:
Video Evidence: (Time stamped after each deletion for faster navigation)
KSP1: 1.12.5 https://youtu.be/v8Q8LkIPu_s?t=12
KSP2: 0.1.4.0 https://youtu.be/GVe6zyo9KQ0
Save File:
KSP1 8001 Save 1 Part Scene.zip (Dropbox Link)
0140 8001 Part Test.json (Dropbox Link)
Test 3: KSP2 10x250 part crafts being deleted one at a time while focused on a 1 part craft on the Mun (Includes Video + Save File)
The 250 part crafts were made up of the ball tanks R-4 Dumpling, standard tanks, vector, pod and landing legs etc
I needed to actually launch it into space and the truss segments were going to be problematic.
I did the following:
Video Evidence: (Time stamped after each deletion for faster navigation)
KSP2: 0.1.4.0 https://youtu.be/uEFy6o8bOOg
Save File:
0140 2501 Part Test.json (Dropbox Link)
Results from Videos on a Graph (lower is better):
Note that KSP1's FPS is converted to ms/frame.
Excel File:
KSP12TestResults.xlsx
Conclusion:
Additional Information:
Colonies has the potential to have players using a lot more than 8000 parts in a save file.
This will affect performance even more severely and also means for longer and longer load times.
Original Bug Report (0.1.1.0):
Link to comment
Share on other sites
25 answers to this question
Recommended Posts