Very strange framerate bug when looking NNE from starting area.

hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
I first noticed FPS drops when running around my base. At first I thought it was the windows causing more stuff to render, but then noticed it happened even when staring at a blank wall. Eventually realised it was direction based.

lDcT6_pah_5-7GGqGuRv7WrpFyNF0_CpMWFnx76crr0.jpg?w=563&s=a13a0a01ef92fb6b8b1d077de0686b4e

The readings above were taken from inside the starting lifepod (-142, 5.8, -385.7). I also got the same readings standing on top of the pod, and in the sea directly below it. Facing any direction between NNW and ENE tanks my FPS. My base is a short distance west of the lifepod. I edged the screen along pixel by pixel from the west and then from the east. This indicated that the issue was caused by something exactly NNE.

I also discovered this behaviour only occurs within a certain area, a square bound by -320 to -509 north/south and -191 to -2 west/east. The moment I leave this square my fps shoots back up to normal. There is a hard boundary between normal and low fps. Deleting my entire cellscache folder returned my FPS to normal. This is at 1920x1080 on high presets. GTX1060 6GB, 6600K, SSD, all latest drivers.

Someone on reddit had the same issue and said they'd noticed their GPU load dropping when the FPS dropped. I tested and found the same, my GPU load dropping from 100% to around 30%.

Bit more detail on my reddit thread here: https://reddit.com/r/subnautica/comments/7t5b2f/massive_fps_drop_when_looking_in_certain/?st=jd4zxeu6&sh=88a2c0b7
«1

Comments

  • 0x6A72320x6A7232 US Join Date: 2016-10-06 Member: 222906Members
  • RienRien Join Date: 2018-01-20 Member: 235276Members
    edited February 2018
    I believe this is an issue caused by the fact that Subnautica doesn't run in true full screen, for some reason the GPU seems to "lose focus". You'll notice that when you get FPS drops, if you alt + tab out then back in, the performance should return to normal.
    I had the exact same issue and setting the launch parameters to "-window-mode exclusive" fixed it for me :)
  • hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
    This particular issue is associated with looking in a specific direction whilst also being in a specific area. It has nothing to do with focus. Alt-tabbing has no effect.
  • RienRien Join Date: 2018-01-20 Member: 235276Members
    This particular issue is associated with looking in a specific direction whilst also being in a specific area. It has nothing to do with focus. Alt-tabbing has no effect.

    Ah fair enough.
    The problem I had had similar symptoms: Crazy frame rate drops and low GPU usage when looking in specific directions. Alt + tab fixed mine though, albeit temporarily. I thought it could be some sort of memory issue to do with borderless window mode, like looking in certain directions was rendering too much or something? No idea, never did find out.
  • AhrisAhris Sweden Join Date: 2015-03-28 Member: 202647Members
    edited February 2018
    I have a similar problem that occurs in every game I've started; My framerate goes down to around 17 FPS when looking at a specific area.
    I've built my bases in completely different locations in every game but after having played for a few hours i get the same problem and the framerate always drops when looking in the direction of my base from any point on the map.

    It's not the base itself that is the problem, but an area near it. I've built all bases at the edge of different kelp forests and while I've never been able to pin-point a specific spot, it's always somewhere in the kelp behind the base. My own conclusion is that the game actively tracks or renders something in the base cell/area when you look at it. If that's the case and you have Stalkers constantly piling metal salvage/dropping new teeth behind the base it would eventually bog down the system.

    I assume you deleting your cell cache would remove all the stalker teeth if you have a kelp forest in the direction of your 'bad area' and fix the problem for a while so the question is if you have a kelp forest there or not. :)

    Edit: So i tested a new game with a base away from the kelp but the problem still occurs and now it sems related to the scanner room. The framerate drops with the scanner room up and it's a GPU problem, my CPU is only at 50%.
    What's weird is that if i remove the scanner room, the framerate still goes down when looking at the spot where it used to be but ONLY if i look at it from a certain direction; From the North. If i pass the point where the scanner room was, the framerate goes up again. Building something else in the same spot doesn't change anything.
    The base was built in the irradiated part of the safe shallows within view distance of the grassy plateaus.

    So it seems like the game keeps rendering 'invisible' objects but only one side of them? I don't know, this is just getting weirder. I get this in every new game though so i hope it gets fixed.
  • 0x6A72320x6A7232 US Join Date: 2016-10-06 Member: 222906Members
    Deleting cache does reset Stalker teeth.

    Some were saying GPU usage dropped when lag spikes occurred. What happens to CPU usage? Do they both drop, or does CPU usage max (meaning the game becomes CPU bound)?
  • hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
    @Ahris Not the same issue. Mine only occurs within a small square area, and has nothing to do with my base or kelp.

    @0x6A7232 Just tested this. CPU drops (75% -> 53%) at the same time. Just for the purposes of clarity, it's not a lag spike. If I'm in the affected area and looking NNE, my FPS is a steady 25-30, with associated GPU and CPU usage drops. It stays that way until I look away from NNE or leave the area.
  • 0x6A72320x6A7232 US Join Date: 2016-10-06 Member: 222906Members
    Very strange. Hopefully a dev can look at this. Although... what is HDD utilization % at this point?
  • hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
    HDD utilisation is low, hovering between 0-5%
  • DC_DarklingDC_Darkling Join Date: 2003-07-10 Member: 18068Members, Constellation, Squad Five Blue, Squad Five Silver
    I am suddenly less inclined to blame a CPU cap.. Have a look.
    https://imgur.com/a/iaRgt

    Note the coordinates do not seem to correspond to yours.
    But the first 2 images show the fps deadzone where I have 15fps.
    It starts in-between SE and S ends in-between SW to W.
    Outside this dead zone my fps goes back to 75fps+.
    I did not move the seamoth.. I just rotated the camera.

    Harder to see and capture at the exact moment, so bare with me here.. but you can see CPU usage on both core 6 and core 8 drop significantly while going into this FPS deadzone.
    I noticed when im in the 75fps+ part that the threads from SN on these cores are the top 2 threads, according to the threads menu. (Which is as accurate as I can make it with only MS symbols set.)

    I have no clue what those threads do, if its a world or graphics thread.
    But if I stay in the 75fps+ part for a prolonged time, they both stay in good CPU usage. The moment I go into the 15fps part, both those cores drop in usage.
    Im assuming (due to the preferred cores part) that those threads run on those cores.)
  • HalioHalio Denmark Join Date: 2018-02-05 Member: 236864Members
    I have this exact same problem. Looking in the same direction, my FPS drops to 25-30 and my CPU & GPU usage drops to 30-40%.
  • RaZerManicRaZerManic Manchester, England Join Date: 2018-02-08 Member: 237190Members
    edited February 2018
    I'm having the same issue in the starting area/shallows and i'ts when I look at a particular rock formation I get 17-19FPS. I've gone around to the opposite side of the same rock and it doesn't happen. I get 70+FPS anywhere else and only lag in this spot so the rock could be bugged. If I swim backwards the lag stops around 200m away. Unfortunately it won't let me attach an image.
  • DC_DarklingDC_Darkling Join Date: 2003-07-10 Member: 18068Members, Constellation, Squad Five Blue, Squad Five Silver
    I did some more testing and this fps drop is just.... weird.

    I did all testing in the same spot. (aka I saved my game in the bad spot I found.)

    * No graphic setting in terms of quality does anything. So a GPU cap is unlikely. (It already was as im more CPU bound but meh)
    * Using the F1 menu and cycling through every option does nothing. Hell, you can remove the entire world minus the entities and it doesn't change the fps.
    * Lowering FOV to minimum reduces the area of the fps dead zone, it does not remove it. Increasing FOV increases the zone. The 'increase/decrease' is for camera rotating ONLY.
    * The fps deadzone does not increase or decrease by any setting I can find in terms of moving coordinates. Aka, you move your actual self forward/backwards/up/down/whatever and the deadzone disappears. (Its still there if you go back to initial coordinates.)
    * Rotating around the coordinates of the fps deadzone gives no issues with fps whatsoever. This counts for both rotating around it while having eyes towards it or your back towards it. That seems to help exclude rendering difficulty in terms of amount on screen. (Not that that seemed to be a issue anyway as the deadzone happens in a area which is really not that graphic intense from the looks of it.)
    * Not having the ram to RAMdrive SN fully, I tried partial RAMdrive again. Putting both its temp data and its whole StreamingAssets on ramdrive does nothing for this fps deadzone. I had a look with procmon and pretty much put everything which was referred often from drive into the ramdrive.. No change.
    * While I say CPU bound, its not doing much either.. Everything tanks on these deadzones.. Far less CPU usage, GPU usage, drive usage seems unchanged also.. (aka not a increase, and like I said.. ramdrive.)

    Unless there are debug menus or debug commands im unaware of, im running out ideas to test and ways to gather data.
    It doesnt seem to hit any limit in the system anywhere. I had high hopes that it was a nvidia driver bug with gsync, but their latest driver didnt help that much either.

    Additional very weird thing.
    In a rare moment during testing, the fps deadzone just disappeared. At first I thought a Stalker pushed me out of it, but it was gone. This happened after I used the reload settings options in the F1 menu. But reloading the save (and thus having my deadzone spot back) and trying again did not produce the same result.
    It could have been something else, but I havent been able to find out what happened.
  • hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
    edited February 2018
    Yes it's extremely odd. I'm no programmer so forgive my terminology but it just doesn't behave like a render load/gpu cap issue.

    There are still people chipping in over on my reddit thread. One user, 'Wh00renzone' posted a screenshot showing massive drawcall spikes for 'xGeyser_Eruption(clone)' and 'xGeyser_Warning(clone)' which seemed to coincide with the slowdown.

    gWAlj8B.jpg

    I tested and found the same spikes, although Wh00renzone reported that clicking 'estimate terrain occluded' resolved the slowdown whereas it did not for me.
  • matrixdllmatrixdll Join Date: 2018-01-27 Member: 235941Members
    Rien wrote: »
    I believe this is an issue caused by the fact that Subnautica doesn't run in true full screen, for some reason the GPU seems to "lose focus". You'll notice that when you get FPS drops, if you alt + tab out then back in, the performance should return to normal.
    I had the exact same issue and setting the launch parameters to "-window-mode exclusive" fixed it for me :)

    My goodness - so there was a way to enable exclusive fullscreen mode all that time!
    Is this a common Windows command? Does it work on other Steam/Windows games?
    Also, big thanks for the tip : )
  • will76will76 france Join Date: 2018-02-12 Member: 237479Members
    Hello I have no sound on the game, no cinematique debut, the capsule of the early bug: I can go out my plant the game that i return
  • 0x6A72320x6A7232 US Join Date: 2016-10-06 Member: 222906Members
    @DC_Darkling There's an F3 menu, if you weren't aware of that. Not sure if that's helpful though. @matrixdll I think that command should work for all games made on the Unity engine?
  • DC_DarklingDC_Darkling Join Date: 2003-07-10 Member: 18068Members, Constellation, Squad Five Blue, Squad Five Silver
    @0x6A7232 I did, and than I forgot.
    And now I know again. :D
    Im better at NS2 performance.

    Anyway, back to information!

    F3 menu settings did a whole lot of nothing in terms of performance. The framegraph showed exactly what the steam fps counter (and my monitor hz counter if I use gsync) shows.
    Odd thing, at some reloads I had a sort of weird heartbeat lowfps spike when in normal fps, but I could not reproduce.

    ShaderLOD is acting weird.. I see normal numbers like 400, and numbers going into utter massive counts like 2147483647. On some runs it was.. negative?
    But no performance change regardless of this setting. Not in the good fps or the bad deadzone fps.

    So was this test round a total bust? NO!
    'Collect Est. Call Stats' was not my friend as pressing the shiny button did not seem to refresh. Many reloads were done.
    But in the fps deadzone I also had the massive 16492 calls, 589 insts, 28 dc/inst for 'xGeyser_Eruption(Clone)'.
    With a nice complementary 11780 calls, 589 insts, 20 dc/inst for 'xGeyser_Warning(Clone'. The post made previously by @hunnersaginger made me remember that this menu seems to be top top bottom in terms of ms used. :)

    I know in that very very broad general direction is a geyser.. somewhere.. but come on.. thats such a long distance away. But thankfully this fps deadzone is right next to my base which is 'behind' me.. sitting next to... a geyser.
    Lets turn around and go into it with my seamoth and take readouts of ya know, a actual SN geyser.

    But where is it? Aaah, its not in the top.
    26 calls, 1 insts, 26 dc/inst for 'xGeyser_Eruption(Clone)' and
    20 calls, 1 insts, 20 dc/insts for 'xGeyser_Warning(Clone)'.

    Now that looks more reasonable. So lets blame the geyser thing.
    Also this made me realise another thing about this menu..
    Its total calls, numbers of instance with 1 being one geyser, for 26 calls per geyser.
    Lets continue that theory with the fps deadzone.
    589 instances each worth 28 equals to 16492 calls.
    And 589 instances each worth 20 equals to 11780 calls.

    Which means the game is trying to process 589 geyser instances? Wait wut?
    Either my theory has a big hole or something is wrong.. Its like 1 geyser in a real geyser spot vs 589? There are no 589 geysers in the safe shallows.
    Is it trying to render every geyser in the game?
  • RaZerManicRaZerManic Manchester, England Join Date: 2018-02-08 Member: 237190Members
    This is the rock near the lifepod that causes me to go from 70fps to 20fps.

    https://imgur.com/BrCGlpx
  • DC_DarklingDC_Darkling Join Date: 2003-07-10 Member: 18068Members, Constellation, Squad Five Blue, Squad Five Silver
    Can you go to 'Perf' and than try 'Collect Est. Call Stats'?
  • hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
    @DC_Darkling thanks for your contributions! I got geyser call stats very similar to yours. And why is SN doing this only in a very specific area? One of the strangest bugs I have ever seen.

    Regarding the 'Collect Est. Call Stats' button, I also found that after 3-4 clicks while testing, it no longer updates. Another bug perhaps!
  • DC_DarklingDC_Darkling Join Date: 2003-07-10 Member: 18068Members, Constellation, Squad Five Blue, Squad Five Silver
    yeh, I had the same problem with the thing not updating.

    Guess its time now to wait till UWE is back from vacation and see what they say about it. :)
  • FlootLoopFlootLoop USA Join Date: 2018-02-13 Member: 237577Members
    I have this same issue as well. Looking N/NE brings my framerate to the 20-30s, and I get 50+ everywhere else. Looking in a direction when behind an opaque wall has the same effect as looking through a window.

    I've noticed two potential fixes, although they come with their own side effects.

    #1 F1 > Other > set [batch load rings] to 0

    With this, the batches start being unloaded. Eventually the problem batch gets cleared and my framerate shoots up. If I set [batch load rings] back to 2 (the default), the batches come back. Unfortunately, the batches don't appear to come back in the same order so I'll often still have large parts of the game world near me not present.

    #2: F1 > Other > "Hide All Ent Gfx"

    This hides a number of effects (for example, the effects associated with a heat vent), but my framerate shoots back up again.

    Hopefully this helps pinpoint the issue.
  • 0x6A72320x6A7232 US Join Date: 2016-10-06 Member: 222906Members
    @Belgarel ▲ Looks even more useful now (geyser-related, apparently?)

  • hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
    @FlootLoop Yeah when I deleted the cellscache folder my FPS returned to normal so batch files seem to play a part.
  • FlootLoopFlootLoop USA Join Date: 2018-02-13 Member: 237577Members
    @hunnersaginger Deleting cellscache just resets the placement of things you've already collected, right? Does it reset fragments or databoxes or PDAs?

    I've been reluctant to delete it since I don't want to ruin the experience for myself (searching for bug troubleshooting while avoiding spoilers has been quite the task), but I'm thinking an improved framerate may be a better experience than constant dips to the 20s.
  • hunnersagingerhunnersaginger United Kingdom Join Date: 2018-01-27 Member: 235939Members
    Not 100% sure but I believe it resets everything in the world as if a new game has been started.

    I deleted it for testing purposes but reverted to my backup afterwards. My assumption is that even if I hadn't reverted, the problem would have reared its head again.
  • 0x6A72320x6A7232 US Join Date: 2016-10-06 Member: 222906Members
    You keep your progress, except for doors. But you'll notice stuff like PDAs you picked up are there again (but if you grab them, since you already have them in your PDA databank, they just disappear).
  • Akolyte01Akolyte01 Join Date: 2018-02-26 Member: 238349Members
    I am also encountering this issue in my base, which I built in the jelly shroom caves.

    The severe (down to 7 or 8 fps) drop occurs when a distant occluded point comes on screen up and to the north east. My guess is that some distant area/object near the surface is being rendered erroneously.

    It is very difficult to play in my base, but I do not want to delete the cache because I assume it will deactivate the arches I have activated. If anyone has a more surgical method for fixing this I could try, I would greatly appreciate it.
  • Akolyte01Akolyte01 Join Date: 2018-02-26 Member: 238349Members
    @0x6A7232 I did, and than I forgot.
    And now I know again. :D
    Im better at NS2 performance.

    Anyway, back to information!

    F3 menu settings did a whole lot of nothing in terms of performance. The framegraph showed exactly what the steam fps counter (and my monitor hz counter if I use gsync) shows.
    Odd thing, at some reloads I had a sort of weird heartbeat lowfps spike when in normal fps, but I could not reproduce.

    ShaderLOD is acting weird.. I see normal numbers like 400, and numbers going into utter massive counts like 2147483647. On some runs it was.. negative?
    But no performance change regardless of this setting. Not in the good fps or the bad deadzone fps.

    So was this test round a total bust? NO!
    'Collect Est. Call Stats' was not my friend as pressing the shiny button did not seem to refresh. Many reloads were done.
    But in the fps deadzone I also had the massive 16492 calls, 589 insts, 28 dc/inst for 'xGeyser_Eruption(Clone)'.
    With a nice complementary 11780 calls, 589 insts, 20 dc/inst for 'xGeyser_Warning(Clone'. The post made previously by @hunnersaginger made me remember that this menu seems to be top top bottom in terms of ms used. :)

    I know in that very very broad general direction is a geyser.. somewhere.. but come on.. thats such a long distance away. But thankfully this fps deadzone is right next to my base which is 'behind' me.. sitting next to... a geyser.
    Lets turn around and go into it with my seamoth and take readouts of ya know, a actual SN geyser.

    But where is it? Aaah, its not in the top.
    26 calls, 1 insts, 26 dc/inst for 'xGeyser_Eruption(Clone)' and
    20 calls, 1 insts, 20 dc/insts for 'xGeyser_Warning(Clone)'.

    Now that looks more reasonable. So lets blame the geyser thing.
    Also this made me realise another thing about this menu..
    Its total calls, numbers of instance with 1 being one geyser, for 26 calls per geyser.
    Lets continue that theory with the fps deadzone.
    589 instances each worth 28 equals to 16492 calls.
    And 589 instances each worth 20 equals to 11780 calls.

    Which means the game is trying to process 589 geyser instances? Wait wut?
    Either my theory has a big hole or something is wrong.. Its like 1 geyser in a real geyser spot vs 589? There are no 589 geysers in the safe shallows.
    Is it trying to render every geyser in the game?

    Interesting..... I have noticed that looking at geyser eruptions can cause massive frame rate drops. My base is also right next to geysers (jelly shroom cave). However my fps drops occur consistently when I look to the north east. Looking at a map, that would line up with a bunch of geysers in the mountains biome. Maybe there is some sort of geyser script problem?
Sign In or Register to comment.