KenpoJuJitsu3 2022 年 1 月 23 日 下午 8:48
Weird stutter issue ONLY in Steam online mode
I'm having a weird issue with Steam games, and I've run out of ideas to try. I'm having an issue where several Steam games are having a microstutter in a regular cadence every ~5 seconds ONLY when Steam is in online mode. If I set Steam to offline mode the issue doesn't present, but then I can't play co-op with anyone. I've tried games from different release years, DX11, DX12, Vulkan, games on different drives, games with & without denuvo, etc., and the only common thing is that all these games only start this stutter as soon as they connect to whatever online system they use. The games start fine on splash screens, but as soon as they connect to something like online servers or accounts, the stutter begins. Games I have hundreds of hours in that weren't doing this before like MHW and NMS are doing it now.

Examples of games doing this: Monster Hunter World & Rise, No Man's Sky, Borderlands 3 Example games not doing this: Hot Wheels Unleashed, Outriders, World War Z, God of War (used as a game with no online/co-op functionality for control purposes)

Non-Steam games like The Division 2 do not do this, even when launched from Steam.

I've messed with Steam's network settings, cleared the browser and download caches, run the regular and beta clients, repaired the Steam client and Steam service, disabled and enabled Steam cloud and Steam overlay, disabled and enabled Windows Game Mode and Game Bar. The only thing that changes anything is launching Steam in offline.

Anyone have any other ideas? Basic specs are i7 8700K, 32GB RAM, RTX 3090.
< >
正在显示第 61 - 75 条,共 101 条留言
KenpoJuJitsu3 2022 年 9 月 3 日 上午 7:20 
引用自 UberFiend
Is network activity or disk activity (or other) spiking in Resource Monitor, & what process & PID is doing it?

None of the above for spikes, which is why this was so hard to pin down for so long. The only obvious symptoms are spikes on a frametime graph or GPU usage. The spikes occur at set intervals and when they occur GPU usage expectedly plummets as the GPU stops rendering frames during the spike.

This doesn't manifest like in games where a dip in performance or a spike causes the game to slowdown and then you see the game speed up for a moment to catch everything up and resync. The spikes are completely dropped frames, so the image "jumps" to the next moment once the spike ends and everything that happened in the middle is lost.

For reference I've used applications such as HWInfo, Resource Monitor, RTSS, and GlassWire to name a few trying to pindown the process / network activity. But the most telling thing, and easiest to duplicate, is running an affected game such as Borderlands 3 on Steam and then running same game from Epic:

Epic version offline: no stutter
Epic version online: no stutter
Steam version offline: no stutter
Steam version online: stutter at regular intervals
Steam version online with limited access to appmanifest files: no stutter
Steam version online with full access to appmanifest files: stutter
KenpoJuJitsu3 2022 年 9 月 3 日 上午 8:46 
引用自 UberFiend
引用自 DavidAndres
I may have to go another way, as in my case each drive has too much on it to eliminate stuttering entirely. Figured I'd try renaming the manifests themselves prior to running a game and reverting once done. Goofy, but it might work.
Make a new folder in there & dump a bunch in.

There's also 2 libraryfolders.vdf you could try curating, or moving the three end brackets further up the list. I don't know if that will have the same effect, just a thought.

Can you expound on this? I also looked at the libraryfolders.vdf files (going as far as killing the originals and recreating them entirely) a while ago. Didn't see any results but didn't extensively mess with them beyond creating new ones.
DavidAndres 2022 年 9 月 3 日 下午 4:05 
引用自 UberFiend
引用自 DavidAndres
I may have to go another way, as in my case each drive has too much on it to eliminate stuttering entirely. Figured I'd try renaming the manifests themselves prior to running a game and reverting once done. Goofy, but it might work.
Make a new folder in there & dump a bunch in.

There's also 2 libraryfolders.vdf you could try curating, or moving the three end brackets further up the list. I don't know if that will have the same effect, just a thought.
That's what I ended up doing, for now at least. My library is at ~560 games while the other few thousand appmanifest files have been parked elsewhere.
最后由 DavidAndres 编辑于; 2022 年 9 月 3 日 下午 4:09
DavidAndres 2022 年 9 月 3 日 下午 4:32 
引用自 Jake The Snake
引用自 DavidAndres
The library size issue is definitely real, at least in my case.

I wonder, then, what is the point at which it happens? As I've said, I have substantially less games installed on all of my drives, but not an insignificant amount. 76 on C:, 80 on D:, 20 on E:.

Steam support will likely not be of any help, but you are welcome to try your hand. I do hope this gets fixed sometime soon.
So, I just reached out to Steam support. I like where everyone is going with figuring out workarounds, but ultimately the Steam client shouldn't penalize someone for having bought and installed too many games. In my ideal world, this gets fixed on the Steam side.

I have referred them to this thread as well.
KenpoJuJitsu3 2022 年 9 月 3 日 下午 4:39 
引用自 DavidAndres
引用自 Jake The Snake

I wonder, then, what is the point at which it happens? As I've said, I have substantially less games installed on all of my drives, but not an insignificant amount. 76 on C:, 80 on D:, 20 on E:.

Steam support will likely not be of any help, but you are welcome to try your hand. I do hope this gets fixed sometime soon.
So, I just reached out to Steam support. I like where everyone is going with figuring out workarounds, but ultimately the Steam client shouldn't penalize someone for having bought and installed too many games. In my ideal world, this gets fixed on the Steam side.

I have referred them to this thread as well.

I reached out to them enough for them to ask me to stop.:steamsad:
DavidAndres 2022 年 9 月 3 日 下午 4:43 
引用自 KenpoJuJitsu3
引用自 DavidAndres
So, I just reached out to Steam support. I like where everyone is going with figuring out workarounds, but ultimately the Steam client shouldn't penalize someone for having bought and installed too many games. In my ideal world, this gets fixed on the Steam side.

I have referred them to this thread as well.

I reached out to them enough for them to ask me to stop.:steamsad:
Yeah, echo that 100%. Did they acknowledge the problem or just say that it was something on your end?
KenpoJuJitsu3 2022 年 9 月 3 日 下午 5:10 
引用自 DavidAndres
引用自 KenpoJuJitsu3

I reached out to them enough for them to ask me to stop.:steamsad:
Yeah, echo that 100%. Did they acknowledge the problem or just say that it was something on your end?

Both. At first they said it was something on my end. So I started sending videos showing the frametime graph in games when online versus offline and in games on Steam versus competing launchers (Epic and Microsoft store). They acknowledged the issue but remained noncommittal on actually fixing it. It's a problem but not a big enough problem apparently.
DavidAndres 2022 年 9 月 4 日 上午 7:08 
引用自 DavidAndres
引用自 UberFiend
Make a new folder in there & dump a bunch in.

There's also 2 libraryfolders.vdf you could try curating, or moving the three end brackets further up the list. I don't know if that will have the same effect, just a thought.
That's what I ended up doing, for now at least. My library is at ~560 games while the other few thousand appmanifest files have been parked elsewhere.
I'll need to take a closer look at the libraryfolders.vdf file.

For now, this is what I have done so far re: scripting:

Assuming that I have Steam libraries on drives C, D, and E, and that I want to "hide" everything but app ids 1659600 (TMNT Cowabunga Edition), 227320 (You Need a Budget), 228980 (Steamworks Common Redistributables), 976730 (Halo MCC Collection), and 1097840 (Gears 5), I can run the following PowerShell command:

Get-ChildItem -Path 'C:\Games\Steam\steamapps', 'D:\Games\Steam\steamapps', 'E:\Games\Steam\steamapps' -Filter appmanifest_*.acf | ` Where { $_.Name.substring(12, $_.Name.Length - 16) -notin @('1659600', '227320', '228980', '976730', '1097840') } | ` Rename-Item -NewName { ("_" + $_.Name) }

This will prefix all of the appmanifest files I am not interested in with an underscore.

Note that I include the Steamworks Common Redistributables app here because, if I don't, the file will be renamed and Steam will create a new appmanifest file for it anyway. This leads to a failure when running the second command below, as the command is unable to rename this particular appmanifest file because the target file name is already present.

The $_.Name.substring(12, $_.Name.Length - 16) operation above converts a file name, as in appmanifest_1659600.acf, into its appId equivalent, 1659600, which I can then use to check whether it's among the app Ids I want to retain.

Note that this has no effect when Steam is running, so I stop Steam, run the above, and start it back up again. Once Steam starts up, your library will be as tiny as it was fifteen years ago!

Alternatively, a slight variation on the above is to dump all of the steam folders and app Ids into text files. The appIds file would look like this (note the code ignores everything after the first space in a line, so that we can at least tie an app Id to a game):

1659600 TMNT: Cowabunga 227320 YNAB 228980 Steamworks Common Redistributable 976730 Halo MCC 1097840 Gears 5

...whereas the Steam library folders file would look like this:

C:\Games\Steam\steamapps D:\Games\Steam\steamapps E:\Games\Steam\steamapps

...and assuming the paths to the Steam libraries and app Ids files are D:\steamlibraries.txt and D:\appIdsToRetain.txt, respectively, you can run this to affect the same changes:

$appIdsToRetain = [System.Collections.Generic.HashSet[string]]@{}; ` Get-Content D:\appIdsToRetain.txt | ForEach { $appIdsToRetain.Add($_.Split(' ')[0]) | Out-Null}; ` Get-ChildItem -Path (Get-Content D:\steamlibraries.txt) -Filter appmanifest_*.acf | ` Where { !$appIdsToRetain.Contains($_.Name.substring(12, $_.Name.Length - 16)) } | ` Rename-Item -NewName { ("_" + $_.Name) }

This may be useful if you want to control the set of apps/folders outside of the PowerShell command, which will allow you to reuse the exact same command regardless of input. Also, we might run afoul of the command line limits within the OS, which could happen if we were to enable hundreds of games in one go. I think that limit is 8,192 characters or so in Windows 10.

Note that I've modified the above to initialize an $appIdsToRetain .NET HashSet and to use it when determining what to keep. The Contains method will be way faster than checking list membership via -notin, particularly if you have a large number of apps that you want to keep. For reference, the list-based approach takes just shy of 30 seconds for a set of ~560 apps to keep whereas the set-based approach takes just six seconds.

To restore everything, you can run this command:

Get-ChildItem -Path 'C:\Games\Steam\steamapps', 'D:\Games\Steam\steamapps', 'E:\Games\Steam\steamapps' -Filter _appmanifest_*.acf | ` Rename-Item -NewName { $_.Name.substring(1, $_.Name.Length - 1 ) }

Same point about needing to restart Steam applies here too.

If using the steamlibraries.txt file to drive the set of library folders to update, run this instead:

Get-ChildItem -Path (Get-Content D:\steamlibraries.txt) -Filter _appmanifest_*.acf | ` Rename-Item -NewName { $_.Name.substring(1, $_.Name.Length - 1 ) }

The above commands will find appmanifest files that start with an underscore and will remove the offending character accordingly.

These operations are fast enough on my machine, each taking fewer than six seconds to complete. I chose to rename files instead of moving them because, in my mind at least, the former is faster than the latter. You may want to close explorer or whatever other file management software you use as folder refreshes will slow things down.

This isn't perfect, as I would expect Steam to just start up and not need to verify or download anything unless there is an update, but this isn't the case when Steam starts up after either of the above commands are run. At minimum, Steamworks Common Redistributables will download, and I think that triggers other apps to download as well. This seems to cause Steam to hang for a few minutes at points, which isn't ideal. Disabling shader caching seems to help here, but I'm debating whether that's something I want to do.

This may be the compromise I take for now given that not all games suffer from this library-size-induced stutter and stutter impacts different genres differently. For example, I wouldn't even notice the stutter in many of the puzzle games I have, but it's impossible not to notice it when playing FPS games. If I'm jonesing for some Borderlands 3, I now have a lever I can pull to make playing it a less painful experience than it previously was.

P.S.: the above commands appear to continue on error, say the rename of one of the files failed, then the commands seem to continue onto the next file, but note that I haven't bothered to verify this behavior.

P.P.S.: I'm running PowerShell version 5.1.19041.1682 on Windows 10. It's possible that the commands won't work on older versions or OSs.

P.P.P.S.: Does anyone know whether the guidance to disable the shader cache when using NVIDIA graphics cards shown in https://www.reddit.com/r/linux_gaming/comments/k3sg5t/psa_if_youre_on_nvidia_disable_steams_shaders/ still applies? That article is two years old now. I definitely feel the stutter caused by the cache rebuild when I'm playing games like Halo MCC and Gears 5, though it does abate eventually.
最后由 DavidAndres 编辑于; 2022 年 9 月 5 日 下午 2:52
DavidAndres 2022 年 9 月 6 日 下午 7:45 
Steam Support has forwarded the issue to the development team and I've been advised to monitor the Steam Client Updates page at https://store.steampowered.com/oldnews/?feed=steam_client.
0321312 2022 年 9 月 6 日 下午 8:07 
o may
Iceira 2022 年 9 月 6 日 下午 9:25 
I dont think you need my comment on what i said before about "Steamworks Common Redistributables" and what game devs do or should i said part of the problem.

if you have not read or search for it, check MS own page. and all this Driver issue still end up as user own problem, or should i said a grey area, with lack of update.
最后由 Iceira 编辑于; 2022 年 9 月 6 日 下午 9:28
Frank 2022 年 10 月 29 日 上午 7:07 
I have something similar on Rocket League where it will stutter only in online mode on a specific account. Difference is its a big fps drop every like 2-3 minutes and its happening on multiple build with my main Steam account. I’ve read your thread to give me some troubleshooting idea but theres indeed not much left xd
I also have multiple drive on my main PC but not on my second one where the issue happen aswell
最后由 Frank 编辑于; 2022 年 10 月 29 日 上午 7:08
Hadley 2023 年 2 月 28 日 上午 3:16 
The exact same problem just happened to me. Very consistent frametime spikes in multiple Games. I tried everything and it got fixed once I started the Games in Admin Mode, which therefore disabled the Steam overlay. When I go into Offline Mode its gone and the Overlay works. So some Steam-Update recently seem to have caused it, since the Games ran perfectly fine until yesterday for me.
Iceira 2023 年 2 月 28 日 上午 3:26 
please dont mix this up with steam GPU accelration option, and other onboard gpu or igpu issue.
seen plenty of AMD board issue with it, just because i said this, still is seen on other steam user issue and what has been done we have no acccess or hands on here.

this is a user forum and lack all inside information.

and if i recall correctly this is about 5000k+ games librarys, and i think steam fix this longtime ago.
最后由 Iceira 编辑于; 2023 年 2 月 28 日 上午 3:30
KenpoJuJitsu3 2023 年 2 月 28 日 上午 6:59 
引用自 Hadley
The exact same problem just happened to me. Very consistent frametime spikes in multiple Games. I tried everything and it got fixed once I started the Games in Admin Mode, which therefore disabled the Steam overlay. When I go into Offline Mode its gone and the Overlay works. So some Steam-Update recently seem to have caused it, since the Games ran perfectly fine until yesterday for me.

Not sure if this is the exact same issue, but the symptoms are similar: Only occurs in Steam games, only in online mode.

Steam support replied to me a long time ago that they were aware of the problem, but no fix ever came out.
< >
正在显示第 61 - 75 条,共 101 条留言
每页显示数: 1530 50

发帖日期: 2022 年 1 月 23 日 下午 8:48
回复数: 101