Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

+10 votes

Hello! 

I tried to update a project from Wwise 2022.1.1 to 2023.1.0 / 2023.1.2 and found that performance in Spatial Audio on the same test cases became worse specifically on Portal Path Validation.

 

I made a simple isolated test case as well in UE5: 20 box shapes rooms 10x10x10 meters, each with 1 portal inside. All the rooms located close to each other (~1-2 meters a distance between walls) and spread in 5 columns, 4 rows. There're no emitters besides of the player footsteps. Each rooms has triangles enabled, acoustic texture is default, diffraction is enabled. The settings of spatial initialization are:

  • max propagation path = 4
  • movement threshold = 100
  • number of primary rays = 30
  • reflection order = 1
  • diffraction order = 4
  • max emitter room aux send = 1
  •  diffraction on reflection = 0
  • max path length = 10000
  • CPU limit = 20
  • load balancing = 2
  • enabled geometric diffraction / transmission = true
  • calc emitter virtual pos = true

This test case always gives me ~30-40 % of CPU on portal path validation, especially when player moves behind all the rooms, therefore more geometric diffraction happens there. 

The same test scenario works perfectrly with small amount of portal path validation CPU numbers (~0.02%) in Wwise 2021.1.1.

 

While profiling with external profiler I found that there's the most consumption on CAkStocjasticReflectionEngine::ComputePaths. I tried to disable reflections completely to see what will happen (reflection order = 0), but that suddenly made situation worse — with the reflection order of 1 the most consumption was when player's moving, but with 0 reflections it's a constant load on the portal path validation CPU with the same numbers. Also profiler still shows CAkStocjasticReflectionEngine::ComputePaths as working (with bigger numbers).

 

I'm wondering is that some bug there? Or if not are there any tips to make such test case working the same way as in the previous versions?

 

Thanks, 

Alexey

in General Discussion by Alexey O. (230 points)
Hello, same here. Did you by chance find any workarounds?

Please sign-in or register to answer this question.

...