AudioUpdateTime taking 300+ms?

When I run ShooterGame (PIE) on my computer with two players, dedicated server or not, the first player experiences extreme lag whenever a sound finishes playing, that player being “Server” with no dedicated server or “Client 1” with a dedicated server.

I made a new FPS template project and migrated the animation blueprints for the first and third person character models and experienced the same thing. When I went through the animations and removed all sound cue references the lag stopped entirely.

When I profile the game with the sound cues enabled there is a massive spike in the game thread at the end of every footstep or jump sound. It comes from GameThread>FrameTime>AudioUpdateTime>Self. The spikes seem to be for a single frame and can take anywhere from 300ms to 600ms.

It may have something to do with my hardware because I do the same thing on a computer in my lab and experience no lag, and I also get no lag on my computer when the gunfire sound from the FPS template plays, no matter how much I spam it.

This computer has an Asus M5A97 LE R2.0 970 AM3+ motherboard and no special audio cards.

Has anyone encountered anything like this? How can have sound and still be able to playtest the game, are there any workarounds?

Have you noticed similar behavior in 4.11? Are you using any 3rd party audio-related software like from Logitech or MSI (Nahmic). We’ve found that on some graphics cards/processors, their DLL hooks into UE4 cause significant performance issues.

Hmm… redoing what I’ve described in 4.11 does not cause the same issues for me, but when I try to run ShooterGame in 4.11 it is still absolutely unplayable for the first client to connect… actually the entire editor freezes up shortly after switching focus to the first client/server.

The software for my audio seems to be “Realtek HD Audio Manager”. I went to check what drivers running and switched from my installed drivers to generic drivers and now I am unable to produce the bug again… even after switching drivers back.

So in short, I still have a engine-breaking issue with ShooterGame in 4.9 and 4.11 but I can no longer produce the bug in the FPS Template projects in either version.

-edit-

Nevermind, they are back, and I have no idea why… I hate seemingly inconsistent bugs.

Hey BigDub,

Keep working to figure out the reproduction case for this issue so we can get it to occur on our end and have a bug report entered.

It sounds like it could be a hardware issue, but in order to verify this we will need some repro steps to follow.

Let me know if you have further questions or need additional assistance.

Cheers,

Alright, I’ll see if I can find an MVP to consistently reproduce this error.

I have been unable to consistently reproduce the error. Of note though, should the issue pop up again, I found that the lag only happens when the offending client is close enough to another client for the sound effect to be played on both clients.
-edit-
Actually it seems to be the anim blueprint for the thirdperson not visible to the local client that is doing it. Once the first client walks out of range of the others no sound is heard and there is no lag.
-edit-
Also it seems that closing and restarting the editor after modifying the animation blueprint fixes the bug until one of the animations is modified again.

Ok, I appreciate you providing extra information. If and when you are able to reproduce the error, please let me know and continue to provide as detailed explanation of the issue as you can so I can enter a verbose bug report.

Thanks,

Thanks BigDub, The audio engine shouldn’t have any dependency on multiple clients/server communication. Audio is client-side only – the events which determine what sounds play and where are handled by networking code.

Shouldn’t.
The behavior has changed recently. Now it is doing it on both server and clients, so my workaround is gone and I really need to get this problem sorted out.
I can test it by building the game and running multiple versions of the built game, but for tweaking weapon/movement balance that is not effective.

As soon as it starts playing some audio the time for AudioUpdateTime jumps around anywhere from 300ms to 900ms. This makes testing certain aspects of our game in-editor by a lone designer or engineer impossible.

If I move one player so the falloff of their footsteps is out of hearing of the other player everything runs normally as expected. As soon as I walk close enough for both windows to be able to hear it I get this lag.

When I fire a weapon the times get even worse, AudioUpdateTime’s exclusive time jumps up past 700ms and Gathering WaveInstances’ exclusive time jumps up past 1100ms.

Are you using the EQ effect on PC? We’ve found an issue with EQ effect that is causing large update time delays. If you disable EQ, do you notice any issues?

I am not an audio guy, after googling enough to figure out what EQ means I am still unable to find any settings that would allow me to enable/disable the equalizer effect. Where can I disable EQ?
-Also, are you talking about just in Unreal, or do you mean interaction with software/drivers on the PC?

Ok. That seemed to have worked. Having started the project from Shooter Game I had copied over the sound channels/mixes used in that project. When I went through all the channels and unchecked the “Apply Effects” checkbox the lag disappeared entirely. Thanks!

Sorry about using audio lingo, hard to know what will be appropriate to use sometimes! Yes, the EQ effect has issues on AMD specifically, though it appears like it might also have intermittent issues on Intel as well. We’re working on a MUCH more robust audio mixer which will leverage much more DSP effects and power so we’ll probably not come up with a fix (or workaround) for the current EQ perf issues.

What exactly is the “apply effects” when hovering it says mix voice?

I’m having a similar problem when hosting my currently built game but this only seems to happen when clients are connected. I’m running 4.18.3 hosting from AMD 8 core FX 8350 black edition 4ghz and gtx 1070 sc edition.
Doesn’t seem to be an issue when no clients are connected.