Borderlands microstutter, please help test!

(So long, and thanks for all the fish!) #21

Dubious. BL2 is capped to 30 fps on old hardware, 60 fps on new (if using the Handsome Collection version). Mostly you’ll see lag, the odd pause (when passing a save point), and rubber-banding/tearing if playing co-op with a bad network connection among the party. There’s no way that I know of to look at the kind of charts shown up-thread, and I’m not sure you’d notice anything on most screens likely to be paired with a console.

(Guajiro Pandoreño) #22

Oh yeah, I didn’t even think of that. :thinking:

On my old computer, I’d see brief pauses at checkpoints, but that sort of makes sense, as the engine is committing a save state (my new one is fast enough that I don’t notice). Those microstutters don’t seem to be related to anything that we know of. At some level, a low-level game designer (who’s doing engine optimization work and that sort of thing) might be able to actually suss it out.

Is anyone running the game on Linux available to check for this? A few data points in the negative might point to something Windows is doing (not that it helps, but it’s a start).

(L0ki) #23

I realize that microstutter and frame timing issues are unfortunately common problems mainly related to asset streaming, excessive draw calls on the cpu, etc. However, the unique thing that the Willow Engine seems to do which is particularly strange is that it stutters exactly once every 60 seconds regardless of load and happens even in menus. I’ve seen lots of frame time variance in games, but I’ve only ever seen this once a minute stutter in Borderlands and Borderlands 2. There is something really odd going on in the game logic. Because it happens like clockwork, I’m sure there is something in the game code that it checks or updates once a minute.

I tried to test it on Linux, but the game was running so much worse than Windows for me that it would have been hard to even tell.

1 Like
(So long, and thanks for all the fish!) #24

A few random thoughts/questions here:

  • Does the PC version of the game have the same “local”, “on-line private”, and “on-line public” settings that the console version does? If so, does setting it to local/private/solo player change things?

  • Anyone remember the timings on when dropped loot starts to get phased out in order to reduce memory load? I know trash gear is on the shortest timer. Just wondering if the once every 60 seconds is related to memory purging (which would be momentarily CPU intensive) Does the microstutter get worse if there’s tons of loot dropped everywhere?

1 Like
(L0ki) #25

I don’t think it has anything to do with dropped loot as it happens even in a fresh game with nothing spawned, and on the pause menu. I’m sure it’s related to some sort of regular loop and if that was the garbage collection cycle in the memheap that may account for it. Most UE3 titles don’t have this problem though so the game is doing something weird.

I notice no difference with the various online settings, but I do find it interesting that in general BL1 has more issues with this than BL2 and TPS (both still have small amounts of this problem, but I didn’t test TPS as much.)

The other interesting thing is that where you stand and where you are looking directly affects how severe the stutter is. For example the microstutter in a freshly spawned firestone once every minute is far more severe than in Headstone Mine.

(Temp Night) #26

I thought it was only me! I don’t have this problem playing BL2 and TPS but when I play BL1, it’s very noticeable. I was thinking it might be because I have gsync on but gsync forces your fps to be 60 not below. I turned off bloom and ambient occlusion with some success(?), not entirely sure about that though.

(kili) #27

Just stumbled here trying to troubleshoot a very similar problem on Rising Storm 2. Reinstalled BL2 just to test this, no stutters here. I am running a 2500k, 1060 6GB and 16 gigs of RAM on Win7.

Seeing as it has not been suggested yet, have you tried changing TimeBetweenPurgingPendingKillObjects in WillowEngine.ini to some other number? It is 60 seconds by default. I had the exact same problem on Red Orchestra 2 back in the day, and the stutter interval was tied to that variable (sadly not the case with my problem this time around). I just set it to some higher number so that the round would usually be over before that timer ran out. Don’t know about the ill effects, akin to a memory leak I would assume. Can’t be that serious though, since I have not faced any problems related to that in the six years or so that I have been playing RO2.

3 Likes
(L0ki) #28

Sorry for the incredibly long delay before replying, life just sort of got in the way. However, I wanted to let you know this tweak does indeed work! I never thought anybody would figure it out. That means the problems with the stutter are 100% related to the way the engine handles garbage collection. I find it odd because all unreal engine games do this but only the willow engine titles have this noticeable microstutter during garbage collection.

I wonder what downsides if any there are to setting this number significantly higher? I think I’ll try setting it to 600 instead of the default of 60 for a while and see what happens.

(So long, and thanks for all the fish!) #29

Depending on how busy you’ve been mayhem-wise, there would be a risk of a freeze or crash if the game ran out of allocatable memory for the list of current world objects.

The related issue would be performance and frame rate - the more objects, the more things have to be taken into account while rendering each frame.

Given that the default settings would be for ‘typical’ systems around the date the game launched, I’d hope neither of these would be the case for more modern hardware; presumably, you’re in the process of finding out!

(L0ki) #30

Is there any way to increase the amount of memory the game allocates?

(So long, and thanks for all the fish!) #31

That I don’t know - it’s really how the memory available to the game is sub-divided, and only one of the developers could tell you that. I’m not even up on how Windows does memory allocation for applications any more - it’s been a long time since I had to actively care about that stuff!

(horrorslice) #32

I’m having the same issue… and this is affecting both BL2 and TPS.

I’ve tried:

  • Changing TimeBetweenPurgingPendingKillObjects.
  • I’ve tried reinstalling the drivers, clean install, rolling back to older drives.
  • Legacy Physx driver.
  • Verifying game cache.
  • Switching out my RAM.
  • Installing the game without the UHD update.
  • Disabling Steam overlay.
  • Closing all background programs.
  • Running HW monitor to see if anything spikes
  • Virus scan and malware scan.

Does anyone have any other ideas on this?

My specs:

  • Windows 10
  • Ryzen 5 1600
  • 512gb SSD
  • 1080ti
  • 16gb DDR4-3200
(Guajiro Pandoreño) #33

Do you need help testing, or are you just looking for other things to try?

If you restart Windows (not shut down, power on, but just a warm ‘reboot’), does it subside?
What build of Windows are you on? (1709, 1803, etc.)?

Also, can you describe the microstutter? I’ve seen it range from someone with a FPS chart with very brief dips that were otherwise invisible to the game actually playing slowly (like 30FPS) the entire time.

(L0ki) #34

If you have the same problem I do where it happens once exactly every 60 seconds it’s definitely TimeBetweenPurgingPendingKillObjects as whatever value I set that to is the time between the stutter appearing. The engine has other forms of microstutter too though, so I’m specifically talking about something that happens even while just standing still in place.

(horrorslice) #35

@teh_L0ki, Mine occurs even during the menu. I don’t think it’s exactly every 60 seconds, but it just locks up and FPS counter shows it dropping to 1 fps for about 5 seconds.

@Adabiviak, I’m on 1809. Complete reboots and all that haven’t changed anything.

I can install MSI Afterburner and log things if it helps.

(L0ki) #36

I think the issue you are suffering from is different than the issue I’m discussing. This issue is definitely related to TimeBetweenPurgingPendingKillObjects and nothing else. Also, the fps counter doesn’t show any drops anywhere that low as I would say if your fps drops to 1 that means you had a full second long stutter and anything that long is not just a microstutter anymore. If you set TimeBetweenPurgingPendingKillObjects to 10 seconds it should happen exactly every 10 seconds, and if you set TimeBetweenPurgingPendingKillObjects to 1200 like I tried the problem nearly goes away. I wish you luck troubleshooting your issue though, but it certainly seems like something else.

(horrorslice) #37

It seems like a newer patch or something messed things up. I downloaded an older version from somewhere, and it runs just fine. It’s just the Steam version of the game. So that’s pretty wonderful.

(Guajiro Pandoreño) #38

Windows? Steam? BL2? Drivers? Something else?

I hear that other people rock 1809 without issue, but when I went to it: microstutter (more like stutter - game couldn’t get over like 50FPS if it tried). Back to 1709 worked for me. I think it was more that “something else” came with the update than 1809 exactly, but whatever: 1809 didn’t bring any improvements for me worth trying to get it to work.

(horrorslice) #39

Windows/drivers can be eliminated for me. It may be a Steam issue, even though I have the overlay disabled. Either way, this older “retail” version of the game without patches is working. So at least I’m able to play now.

(llukanov) #40

Hello,

I have a bad frames drop in some intense scenes. My specs are - ASUS M5A97 EVO / FX-8320 @4.2Ghz / 4x4GB HyperX @1800Mhz / 120 GB Kingston V300 + Hitachi 2 TB /
PowerColor RX 480 4GB / CM Silent Pro M700 / Packard Bell 23" @FullHD

I have previously played this game on older platform - GA770TA-UD3 / Phenom X4 @4ghz / 8GB RAM / Nvidia GTX 480 (Radeon 280X 3GB) - on every configuration i got drops about 30 fps in some scenes. I had messing with video settings a lot but with no good effect. Is it something with the fact i am playing on AMD platform or what?

Please help me for some stable 60 fps gameplay :slight_smile: I believe that this 7-8 years old game must be smooth on these PC configs…