Jump to content

Invalid Ballistics Objects being created and not cleaned up resulting in FPS impact.


rurounijones
Go to solution Solved by rurounijones,

Recommended Posts

Yeah this would be a major boon if it got fixed for MP servers. 

New hotness: I7 9700k 4.8ghz, 32gb ddr4, 2080ti, :joystick: TM Warthog. TrackIR, HP Reverb (formermly CV1)

Old-N-busted: i7 4720HQ ~3.5GHZ, +32GB DDR3 + Nvidia GTX980m (4GB VRAM) :joystick: TM Warthog. TrackIR, Rift CV1 (yes really).

Link to comment
Share on other sites

  • ED Team
7 hours ago, rurounijones said:

  

Summary:

DCS World is creating invalid ballistics objects which are not cleaned up. These ballistics objects persist until mission restart and have a significant impact on the performance of Multiplayer servers, measured in "Server FPS" or the number of simulation frames per second that the server is processing.

Background:

Ballistics objects are spawned whenever a rapid fire weapon starts firing. They may also be spawned when cluster munitions are dispensed but I have been unable to confirm that. Ballistics Objects tend to have an impact on Server FPS which depends on the power of the server, the number of objects and, apparently, the number of connected clients. This is because the server has to spend time calculating the trajectories and other properties (Collisions etc.) of these ballistic objects.

Here is an example of Ballistics Objects being spawned when rapid-fire weapons fire. You can see that the number of Ballistics objects in the mission spike when a shooting event starts and the resulting impact on server FPS. You can also see that the number drops back to 0 as the ballistics objects expire.

(Note: The below graphs come from a liberation mission running with only AI running on a home-server)

image.png
 

Bug:

There are times, however, when Ballistics objects increase without an associated shooting event (Or any other event that I can find).


image.png

You can also see that after this jump the objects are not cleaned up and the number of ballistics objects in-mission steadily accumulates.

 

image.png

If we look at these objects we can see that they are invalid and they are always identical aside from the main ID. Their type is all 0, their coordinates are all 0 and the lat/lon is always at map origin, the country is 99 which is not in the country enum. Clearly these are not something that should exist.

	"33584385": {
		"Pitch": 0,
		"Type": {
			"level3": 0,
			"level1": 0,
			"level4": 0,
			"level2": 0
		},
		"Country": 99,
		"Coalition": "Enemies",
		"Flags": {
			"Jamming": false,
			"IRJamming": false,
			"Born": false,
			"Static": false,
			"Invisible": false,
			"Human": false,
			"AI_ON": true,
			"RadarActive": false
		},
		"Name": "",
		"Position": {
			"y": 0,
			"x": 0,
			"z": 0
		},
		"Heading": 6.2831854820251,
		"LatLongAlt": {
			"Long": 34.265515188456,
			"Lat": 45.129497060329,
			"Alt": 0
		},
		"CoalitionID": 0,
		"Bank": 0
	}

I have also noticed that these invalid objects tend to (but not always) spawn 76 objects at a time as evidenced below (Note: This graph is from a Hoggit Georgia At War session).

image.png

The trackfile for this Liberation mission can be found in the attached `liberation-mission.trk` which is tiny because, I assume, there is only AI.

Impact:
The accumulation of these Ballistics Objects has a deleterious impact on the Hoggit multiplayer servers (And potentially others, but Hoggit is what I was analysing) due to the fact that the server still has to assign time to process them even though they are doing nothing. Here is a graph of a typical mission on Hoggit Georgia At War. You can see that the server FPS steadily decreases as the number of Ballistics objects increases. I could find no other metrics that shows such a correlation.

You can also see that the number of players also has an impact on the server FPS in that the FPS recovers very slightly as player count drops at the end. I am not sure if the number of players amplifies the impact of the ballistics objects but my assumption is yes because on a server with very few players the impact is not as great.

(Note: The below graphs come from the Hoggit "Georgia At War" server)

image.png

As well as a corresponding increase in CPU usage:

image.png

You can see here that the number of invalid Ballistics objects is in the thousands. However I have also observed that this depends on which of the two missions that make up "Georgia At War" is running (P1 or P2). In one mission the Invalid ballistics objects consistently numbers in the hundreds and one in the thousands. However even just a few hundred ballistics objects has a massive impact as well.

I have observed this behaviour across about 20 different mission sessions.

Track files for some GAW sessions with this ballistic object accumulation can be found here: https://drive.google.com/drive/folders/1-_Ae-h6dl5s2k9v1FWwfkME0OBOflbWt (Size warning. 300-400MB)

Request:
Eagle Dynamics to find the root cause for these invalid ballistics objects being spawned and fix it.
 

 

liberation-mission.trk 857.11 kB · 2 downloads

 

I will ask the team about this. 

thanks

  • Like 4
  • Thanks 3

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

  • ED Team
7 hours ago, HeavyGun1450 said:

Please make a rapid hotfix for this. It is destroying every single multiplayer servers FPS greatly currently.

We need to investigate it first and find the reason, it is not clear at the moment, it could be something in the missions for example. If we find something we will let you all know. 

thanks

 

  • Like 1
  • Thanks 1

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

13 hours ago, Sealpup said:

If these objects all share a location, type, and country, would it not be possible to create a 'garbage collector' script to periodically remove them? A bandaid fix until the root cause can be addressed.

The community does not have access to any APIs that can garbage collect these objects as far as I am aware.
 

2 hours ago, BIGNEWY said:

We need to investigate it first and find the reason, it is not clear at the moment, it could be something in the missions for example. If we find something we will let you all know. 

thanks

I fully agree that it will probably take time since debugging can be a pain and hope ED do not rush the investigation and potentially come out with a non-fix or break something in a rush to resolve the issue.

However I hope that "It might be something in the mission" will not be a position that ED take as a reasoning for doing nothing since the DCS World Platform should not allow invalid objects to be created via its APIs in the first place. It should instead return an error if it is incorrectly called rather than silently create invalid objects.

* If the problem lies within DCS world and can be fixed then great!
* If the problem lies in the scripting involved in the missions then the DCS World API that is allowing these invalid objects be created should have validation added and return an error instead. Not just in this case, but in general.


Edited by rurounijones
  • Like 9
  • Thanks 2
Link to comment
Share on other sites

  • ED Team
4 minutes ago, rurounijones said:

I fully agree that it will probably take time since debugging can be a pain and hope ED do not rush the investigation and potentially come out with a non-fix or break something in a rush to resolve the issue.

However I hope that "It might be something in the mission" will not be a position that ED take as a reasoning for doing nothing since the DCS World Platform should not allow invalid objects to be created via its APIs in the first place. It should instead return an error if it is incorrectly called rather than silently create invalid objects.

* If the problem lies within DCS world and can be fixed then great!
* If the problem lies in the scripting involved in the missions then the DCS World API that is allowing these invalid objects be created should have validation added and return an error instead. Not just in this case, but in general.


correct, no one knows yet, it needs to be investigated. 

  • Like 1

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

Is this why the multiplayer servers have been going from working servers to all the sudden things being broke? Our servers have all the sudden broke and our mission editors don't want to keep making changes just for it to be broke again in a future patch. 

Link to comment
Share on other sites

On 9/5/2022 at 4:39 PM, DragonSoulkin said:

In the meantime what I'm wondering is what is our suggested course of action as players trying to continue having a multiplayer experience?

Patience and a positive attitude? 😀

 

These things take time to fix properly.

"...I just wanna fly; put your arms around me baby, put your arms around me baby" - Sugar Ray

RTX 3090, Ryzen 7 5800X3D, MSI MPG B550 Gaming mobo, 64 GB DDR4 RAM, 970 EVO Plus NVMe M.2 SSD 2TB game install drive, Oculus Quest Pro via link cable, Standalone DCS beta.

Link to comment
Share on other sites

  • ED Team
1 minute ago, rurounijones said:

@BIGNEWY
Do you know if anything was included in DCS 2.7.18.30348 Open Beta related to this report?

 

Not to my knowledge, the team is having problems reproducing this at the moment, and tests are not conclusive at the moment. 

They continue to investigate. 

Please let me know if you see any change your end. 

thanks

  • Like 1
  • Thanks 1

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

22 hours ago, BIGNEWY said:

Not to my knowledge, the team is having problems reproducing this at the moment, and tests are not conclusive at the moment. 

They continue to investigate. 

Please let me know if you see any change your end. 

thanks

still broke. After server restarts ground units either spawn dead or not at all. You need to go onto the front end and manually restart the server to get it to work. 

 

Link to comment
Share on other sites

  • ED Team
8 minutes ago, 162nd Pete said:

still broke. After server restarts ground units either spawn dead or not at all. You need to go onto the front end and manually restart the server to get it to work. 

 

This is a different issue from the one above, which is ballistics.

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...