Black Mesa

Black Mesa

View Stats:
This topic has been locked
Nlelith Mar 7, 2020 @ 5:30am
Stuttering because of sounds.
I noticed that some sounds force the game to micro-freeze when they are played for the first time. Console log confirms it with "Async I/O Force *path*\*sound*.wav (x.x msec / x.x msec total)" messages every time this happens.

Is there any fix to this? Maybe a console command to force pre-load/pre-cache all sounds?
Originally posted by Rocko:
[REAL SOLUTION]

Background: So, upon going back to the game, it appears my initial power-saving related fix wasn't actually working after all. I am not sure why it appeared to work for so long, but the hitching and stuttering returned. I had a similar problem with Terraria on the same HDD, so I moved Terraria to an external HDD and it solved the problem. Moving Black Mesa to that HDD, however, did not solve the problem. It appears this may be an engine problem.

The solution:
Originally posted by Lone Wolf:
But I might have found a solution. Typing snd_async_fullyasync 1 in the console fixed it for me. What this does is that "All playback is fully async (sound doesn't play until data arrives)."
That's what it says here: https://developer.valvesoftware.com/wiki/Console_Command_List

I have only been experimenting with it for a couple of hours, and haven't had a single frame drop when sounds play. I get the usual stutters but just like you said in your earlier comment, those stutters that happen are not from the Async I/0 output, it's just Source being the good ol' Source.

If it does fix it for you, make sure to type it in your autoexec.cfg file because it auto resets back to 0 every time you launch the game.

So, I used this solution (snd_async_fullyasync 1) and it appears to be working. Ran through an entire chapter without a hitch. This may be the solution we've been really searching for. The only problem with it is that some sounds will still be delayed, so it doesn't solve the problem of *why* the engine takes so long to load the sounds - but it does cure the most egregious symptom, which is that it caused the game to freeze. So this will do for now.
< >
Showing 1-11 of 11 comments
Nlelith Mar 8, 2020 @ 5:25am 
Update: I moved the game to my NVMe SSD drive and this fixed the problem. That being said, HDD it was installed on initially is performing pretty great otherwise. I guess my system didn't like it when game was accessing .vpk sound archives for some reason? So, if you're reading this and don't have an option to move the game to an SSD, maybe try to whitelist Black Mesa in your Antivirus, or extract sounds from .vpk archives, that might do the trick.
Film11 Mar 8, 2020 @ 7:16am 
I get the same thing, with stutters about half a second long when certain sounds play for the first time. I'm not entirely sure what causes it but given your workaround I'm wondering if degraded HDD performance is partly or entirely responsible and the Source engine is more sensitive to this. The rest of the game is otherwise very smooth running for me.
Rocko Dec 28, 2020 @ 10:50pm 
This still seems to be a problem endemic to Black Mesa Definitive Edition as long as it is running on an HDD. While playing it on an SSD is a hardware based solution, not everyone can afford to put large games on SSDs as I still use HDD for mass storage. This is a serious problem which I have yet to find a software solution for.
40ozKilla Dec 28, 2020 @ 11:39pm 
I play this game on a 10 year old Western Digital Black 1TB HDD and I've never had this issue. Although my OS is on samsung 970 plus if that matters.
Last edited by 40ozKilla; Dec 28, 2020 @ 11:39pm
Rocko Dec 29, 2020 @ 10:57am 
SOLUTION FOUND

** EDIT: This solution seemed to be a false positive. The issue returned after a while. A solution that REALLY works is below, in post #8. **

Background: I did some speed tests of my disk and found that while the throughput performance was as expected when dealing with large transfers, the loading of small files such as audio clips always had a higher than expected latency. The only thing I could think of that would cause an HDD to have high initial latency but fine throughput is... spin-up time. I reasoned that the source of the problem may be the sounds are not being loaded from disk quickly enough because the disk has to spin-up from a resting position every time. The only thing I could think of that would cause a disk to behave in such a way is some sort of power saving feature which keeps the disk as inactive as possible.

The solution: Lo and behold, Windows 10 has a built-in power saving feature that causes a need for frequent disk spin-ups. I went into Windows 10 Power Options, selected 'Change Plan Settings' on my current power plan, clicked 'Change advanced power settings', scrolled down to 'PCI Express' subcategory 'Link State Power Management' and changed 'Maximum power savings' to 'Off'. This solution may also work with 'Moderate power savings', feel free to experiment.

Anyway, by turning it off, the stutters have almost entirely disappeared, and the rare stutters that do still happen do NOT produce Async I/O console output. So that problem is fixed.
Last edited by Rocko; Dec 31, 2020 @ 12:25pm
flitzanu Dec 29, 2020 @ 11:47pm 
I can't say that using SSD may help. I can confirm that I have immersion breaking stuttering, and I am using an SSD. It's incredibly disappointing.
Rocko Dec 30, 2020 @ 11:34am 
Originally posted by flitzanu:
I can't say that using SSD may help. I can confirm that I have immersion breaking stuttering, and I am using an SSD. It's incredibly disappointing.

Have you tried my solution above? I am curious if it would work with an SSD, though I don't see why it would considering SSDs dont have to spin up...
The author of this thread has indicated that this post answers the original topic.
Rocko Dec 31, 2020 @ 12:25pm 
[REAL SOLUTION]

Background: So, upon going back to the game, it appears my initial power-saving related fix wasn't actually working after all. I am not sure why it appeared to work for so long, but the hitching and stuttering returned. I had a similar problem with Terraria on the same HDD, so I moved Terraria to an external HDD and it solved the problem. Moving Black Mesa to that HDD, however, did not solve the problem. It appears this may be an engine problem.

The solution:
Originally posted by Lone Wolf:
But I might have found a solution. Typing snd_async_fullyasync 1 in the console fixed it for me. What this does is that "All playback is fully async (sound doesn't play until data arrives)."
That's what it says here: https://developer.valvesoftware.com/wiki/Console_Command_List

I have only been experimenting with it for a couple of hours, and haven't had a single frame drop when sounds play. I get the usual stutters but just like you said in your earlier comment, those stutters that happen are not from the Async I/0 output, it's just Source being the good ol' Source.

If it does fix it for you, make sure to type it in your autoexec.cfg file because it auto resets back to 0 every time you launch the game.

So, I used this solution (snd_async_fullyasync 1) and it appears to be working. Ran through an entire chapter without a hitch. This may be the solution we've been really searching for. The only problem with it is that some sounds will still be delayed, so it doesn't solve the problem of *why* the engine takes so long to load the sounds - but it does cure the most egregious symptom, which is that it caused the game to freeze. So this will do for now.
Last edited by Rocko; Dec 31, 2020 @ 12:26pm
Kermit the Forg Dec 31, 2020 @ 3:15pm 
Originally posted by Rocko:
[REAL SOLUTION]

Background: So, upon going back to the game, it appears my initial power-saving related fix wasn't actually working after all. I am not sure why it appeared to work for so long, but the hitching and stuttering returned. I had a similar problem with Terraria on the same HDD, so I moved Terraria to an external HDD and it solved the problem. Moving Black Mesa to that HDD, however, did not solve the problem. It appears this may be an engine problem.

The solution:
Originally posted by Lone Wolf:
But I might have found a solution. Typing snd_async_fullyasync 1 in the console fixed it for me. What this does is that "All playback is fully async (sound doesn't play until data arrives)."
That's what it says here: https://developer.valvesoftware.com/wiki/Console_Command_List

I have only been experimenting with it for a couple of hours, and haven't had a single frame drop when sounds play. I get the usual stutters but just like you said in your earlier comment, those stutters that happen are not from the Async I/0 output, it's just Source being the good ol' Source.

If it does fix it for you, make sure to type it in your autoexec.cfg file because it auto resets back to 0 every time you launch the game.

So, I used this solution (snd_async_fullyasync 1) and it appears to be working. Ran through an entire chapter without a hitch. This may be the solution we've been really searching for. The only problem with it is that some sounds will still be delayed, so it doesn't solve the problem of *why* the engine takes so long to load the sounds - but it does cure the most egregious symptom, which is that it caused the game to freeze. So this will do for now.
Thanks, this seems to have fixed the problem for me. BTW do you know if there is an equivalent console command for Goldsrc? I always have a similar problem in HL1.
flitzanu Jan 4, 2021 @ 4:30pm 
Originally posted by Rocko:
Originally posted by flitzanu:
I can't say that using SSD may help. I can confirm that I have immersion breaking stuttering, and I am using an SSD. It's incredibly disappointing.

Have you tried my solution above? I am curious if it would work with an SSD, though I don't see why it would considering SSDs dont have to spin up...

i tried the snd_async you mentioned just now, and still no go, still giving crazy stutters for me.
Brother Bigot Jun 11, 2021 @ 3:46am 
Originally posted by Rocko:
[REAL SOLUTION]

Background: So, upon going back to the game, it appears my initial power-saving related fix wasn't actually working after all. I am not sure why it appeared to work for so long, but the hitching and stuttering returned. I had a similar problem with Terraria on the same HDD, so I moved Terraria to an external HDD and it solved the problem. Moving Black Mesa to that HDD, however, did not solve the problem. It appears this may be an engine problem.

The solution:
Originally posted by Lone Wolf:
But I might have found a solution. Typing snd_async_fullyasync 1 in the console fixed it for me. What this does is that "All playback is fully async (sound doesn't play until data arrives)."
That's what it says here: https://developer.valvesoftware.com/wiki/Console_Command_List

I have only been experimenting with it for a couple of hours, and haven't had a single frame drop when sounds play. I get the usual stutters but just like you said in your earlier comment, those stutters that happen are not from the Async I/0 output, it's just Source being the good ol' Source.

If it does fix it for you, make sure to type it in your autoexec.cfg file because it auto resets back to 0 every time you launch the game.

So, I used this solution (snd_async_fullyasync 1) and it appears to be working. Ran through an entire chapter without a hitch. This may be the solution we've been really searching for. The only problem with it is that some sounds will still be delayed, so it doesn't solve the problem of *why* the engine takes so long to load the sounds - but it does cure the most egregious symptom, which is that it caused the game to freeze. So this will do for now.
thanks
< >
Showing 1-11 of 11 comments
Per page: 1530 50

Date Posted: Mar 7, 2020 @ 5:30am
Posts: 11