Set audiostreamplayer default area_mask to 0 and exit early to reduce performance overhead. #107679
+12
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses #106751
Quick summary:
By default AudioStreamPlayers2D/3D do a physics check on their position every frame when running to support the audio_bus_override feature on Area2D/3D.
From my search this is a feature that is rarely used, but results in a non negligible overhead for all projects, even if the feature is never used.
I propose setting the default area_mask to 0 and exiting early in those scenarios to remove this overhead.
Reasons:
I think the default of 1 (aka. check for overlaps with all default areas) is more likely to cause unexpected behaviour.
Warning:
This PR includes a Behavior Breaking Change:
Projects using the audio_bus_override feature on the default layer will find their overrides not working anymore.
(Though I expect this number to be very low, can do a targeted search if required)