FMOD bank reload engine freeze

Hi,

I’m having big issues with bank reload on maps which contain lot of assets (environment/memory demanding) in out project. When I modify (rename/delete) event/s in FMOD Studio and then build single (referenced) bank, engine freezes for a while (depending of number of modified events). Messages “Finding asset references” and “Deleting assets are displayed” in this load/freeze time.
For 5 events I got a freeze of 10 minutes, which is a big problem for our workflow. I was able to reproduce this issue in 2.01.05 and 2.01.07 (ue4 integration and FMOD studio version STANDARD).

When working in example maps in our project (smaller memory size) there is no such freeze but there is notable time in “deleting old assets” messages. I also get the same results when testing our FMOD project in clean UE4 4.25.4 project version in example map.

I tested FMOD example project (2.01.07) in Shooter game (UE4 example project 4.25.4) and got the same behavior. The only difference is loading time. I assume this is due environment map size (memory size).

I validated the project in engine and FMOD studio and everything is clean.

Hope you can you help/advice me how to overcome this issue!?

Our project UE4 engine version: 4.25.3_DLSS

Best, Dino

1 Like

Hi Dino

Sorry to hear the performance is causing you an issue there, the behavior is expected but a 10 minute freeze definitely isn’t. I’ll have to do some testing of this internally as we’ve never seen any significant impact to responsiveness when modifying and rebuilding the FMOD Studio project with UE4 editor open.

Just to clarify, are you saying that you experienced the long delays using the FMOD example project and the UE4 Shooter game, or that you saw the same messages about “deleting old assets”?

Hi,
Thanks for you time and answer.

In my test of ShooterGame/FMOD example project there is significate delay in reloading banks then in FMOD 2.00.11 integration, and yes , when you rename/modify event in studio and build its bank you get the message for a second “deleting old assets”. I assume when the map is larger then in ShooterGame example this delay time multiplicate.

Best Dino

I haven’t been able to reproduce the extreme delay you experienced but I believe I can see where the slowness is coming from. I think you could get rid of almost all of the delays in the short term by making a minor modification to our integration source code, there is a nasty tradeoff though, which I’ll explain below.

First, to get rid of the delays in Plugins\FMODStudio\Source\FMODStudio\Private\FMODAssetTable.cpp change lines 161 to 165 from this:

            // Everything left in the name lookup was removed
            for (auto& Entry : NameLookup)
            {
                DeleteAsset(Entry.Value.Get());
            }

To this:

            // Everything left in the name lookup was removed
            /*
            for (auto& Entry : NameLookup)
            {
                DeleteAsset(Entry.Value.Get());
            }
            */

This disables the slow operation of deleting UE4 assets which are no longer valid after deleting or moving items in FMOD Studio.

The tradeoff is that when you move or delete something in FMOD Studio and rebuild the banks you’ll end up with a stale UE4 asset for the item which was moved or deleted. The stale asset will go away when the UE4 project is closed and reloaded, and it won’t work if you try to use it in the meantime, but it will still be possible to create references to it and those references will become empty when the project is eventually closed and reloaded. Clearly that’s not an ideal workflow, but it might be preferable to the delays you’re experiencing.

I’ll add an issue to our tracker for this and we’ll try to come up with a better solution for a future release.

Hi,

Yes you are right, commenting that code segment solved the issue. Although workflow isn’t ideal, we will stick to this fix, and hope that you will fix the bug in future releases, as manual downgrade seems like very problematic to us in this development stage. Especially cause it is a major version upgrade.

Best Dino

1 Like