Jump to content
Sign in to follow this  
Hek Harris

Microstuttering

Recommended Posts

Going to post here, All though I would not consider this micro stuttering. A few friends of mine and I have recently started a server for 7 days to die "This is not a rented server, We have full control of the server" I believe this issue of "hanging" is caused by the size of the map and how the sleeper zombies are handled. I found a reddit post that has a wonderful explanation much better than I could explain so im going to paste it here as I think this will be very helpful for the devs.

 

" szimre: We run a server as well and I usually tail the docker logs to see what the 7D2D server is doing and the stutter usually occurs when there is a sleeper spawn. Don't really know much about game development as I'm a web developer but what I can think of is that these spawn events are running on the main thread of the game/server instead of an asynchronous background thread that just calls back the main thread when it's ready. Now if every sleeper in a house spawns on the same update frame in a synchronous manner on the main thread that means that at that frame the main thread finishes maybe several hundred milliseconds later than usual and the game essentially stops for that time causing a stutter. I'm not sure about how they handle bind culling of far away objects on the network but if it's written poorly everyone on the server will experience the stuttering and it get's worse as more and more groups visit separate buildings. The problem with synchronous loading of objects in a game is that these loads are usually accompanied by IO operations (loading textures, animations, sounds, etc.) and the loading can take a very long time if the IO device has a huge backlog, this is why these events are usually running on background threads to make sure other parts of the game (movement, physics, etc.) can keep running while we wait for the IO. Might be completely wrong, this is just a possibility, I can't see the code so I have no idea how it works in 7D2D." (

)

 

We have the same issues on our server. We started with a 4k world by mistake but decided that it was way to small, while playing I can't remember the "hanging" happening as bad or at all comparatively to the new size we choose.

We decided 16k was a better size, but this seemed to have increased the amount of "hanging" we have experienced. The server owner watched the logs while playing and confirmed "hanging" happens at the same moment as sleeper zombies our loaded. 2023230721_serverinfoforpimps.jpg.fc0807fa51328a9ae092c3e15379fc20.jpg

As the day count gets higher and the farther we explore out, the hangs seem to be getting longer and more common.

Edited by brad68brad (see edit history)

Share this post


Link to post
Share on other sites
Or maybe you should pay closer attention and actually read more than just the latest post someone posted. I get an average of 100fps with this game while on high settings (as I mentioned multiple times already). Don't assume I'm a liar (or assume I'm dumb) and tell me I have fps issues, cuz that's very clearly not the issue here. Also, you were the one that brought up v-sync as possibly helping with stutters in the first place and faatal (aka a dev) made the discussion more focused around it.

 

 

 

 

etc...

 

Yes. All quotes where the topic of discussion is micro-stutter. Not other problems such as hard pauses and low FPS. Because they are not the same thing. The pauses that happen either frequently and/or infrequently depending upon who you ask, are not micro-stutter. They are a separate problem that everyone has to some degree. They are not the subject of this discussion.

 

Specifically, micro-stutter is a problem with frame pacing that causes an effect like you are watching a 24hz film even though your FPS is much higher. V-Sync can help with evening out frame times and reduce this problem. It will not fix the problem you are having with generic stutter from some action the game engine is doing. I don't know how I can be more clear about this. Engine pauses are NOT micro-stutter. You continue to provide conjecture as if the problem you are experiencing is micro-stutter but it is clear from your description that it is not.

 

It is a totally different problem that everyone is suffering from that probably needs it's own thread. This thread is completely riddled with posts about issues other than the one the main topic is referring too. It's confusing and it will cause problems with people looking for answers about this specific topic. Please, make another thread about your issue so it can be discussed separately and there will be no further confusion.

Share this post


Link to post
Share on other sites
Yes. All quotes where the topic of discussion is micro-stutter. Not other problems such as hard pauses and low FPS. Because they are not the same thing. The pauses that happen either frequently and/or infrequently depending upon who you ask, are not micro-stutter. They are a separate problem that everyone has to some degree. They are not the subject of this discussion.

 

Specifically, micro-stutter is a problem with frame pacing that causes an effect like you are watching a 24hz film even though your FPS is much higher. V-Sync can help with evening out frame times and reduce this problem. It will not fix the problem you are having with generic stutter from some action the game engine is doing. I don't know how I can be more clear about this. Engine pauses are NOT micro-stutter. You continue to provide conjecture as if the problem you are experiencing is micro-stutter but it is clear from your description that it is not.

 

It is a totally different problem that everyone is suffering from that probably needs it's own thread. This thread is completely riddled with posts about issues other than the one the main topic is referring too. It's confusing and it will cause problems with people looking for answers about this specific topic. Please, make another thread about your issue so it can be discussed separately and there will be no further confusion.

I think maybe you're mistaking me for someone else, cuz that's the only way this would make any sense.

 

Also, there's hundreds of topics on micro-stutters already, including the one I initiated years ago after Alpha 11 release and now has 15 pages worth of discussion. There are many stutter issues, as I've already mentioned, and I experience most of them, as I already mentioned. I have seen ppl derail this topic with other issues, some of which had nothing to do with any kind of stutter... including yourself with this pointless arguing, but aside from that, I have not gone off topic at all.

  • Like 1

Share this post


Link to post
Share on other sites
I think maybe you're mistaking me for someone else, cuz that's the only way this would make any sense.

 

Also, there's hundreds of topics on micro-stutters already, including the one I initiated years ago after Alpha 11 release and now has 15 pages worth of discussion. There are many stutter issues, as I've already mentioned, and I experience most of them, as I already mentioned. I have seen ppl derail this topic with other issues, some of which had nothing to do with any kind of stutter... including yourself with this pointless arguing, but aside from that, I have not gone off topic at all.

 

It very well may be that I have confused you for one of the other posters. I don't believe that I have. If you are experiencing honest to god micro-stutter, then you haven't been very forthcoming with information or a description of your problem other than just saying that V-Sync isn't helping and G-Sync is also not helping. The only solution I can suggest is to disable G-Sync and set your refresh rate to something just a bit lower than your lowest FPS in game. Try 75hz static. Enable V-Sync. Do you still have micro-stutter? My guess is that you wont. Or it will be greatly reduced. I understand that this is not exactly the intended use of the hardware you have purchased, but I don't see the problems with highly variable frame time being resolved before the game is feature complete. My guess is that you are running between 90-120fps and that it is constantly changing between the two. That is certainly going to be noticeable if your refresh is also changing along with it. The only way that I know of to fix this on your end is to reduce your refresh rate until you are well below the variance range. It's a bandaid fix at best, but you represent an edge case at this point. One that will more than likely have to fixed by Unity devs and not The Fun Pimps.

Share this post


Link to post
Share on other sites
It very well may be that I have confused you for one of the other posters. I don't believe that I have. If you are experiencing honest to god micro-stutter, then you haven't been very forthcoming with information or a description of your problem other than just saying that V-Sync isn't helping and G-Sync is also not helping. The only solution I can suggest is to disable G-Sync and set your refresh rate to something just a bit lower than your lowest FPS in game. Try 75hz static. Enable V-Sync. Do you still have micro-stutter? My guess is that you wont. Or it will be greatly reduced. I understand that this is not exactly the intended use of the hardware you have purchased, but I don't see the problems with highly variable frame time being resolved before the game is feature complete. My guess is that you are running between 90-120fps and that it is constantly changing between the two. That is certainly going to be noticeable if your refresh is also changing along with it. The only way that I know of to fix this on your end is to reduce your refresh rate until you are well below the variance range. It's a bandaid fix at best, but you represent an edge case at this point. One that will more than likely have to fixed by Unity devs and not The Fun Pimps.

I already have a frame limiter set to 72fps (cuz anything higher on a non-competitive game, in my opinion, is pointless). I specifically bought my G-Sync monitor because I was sick and tired of seeing screen tearing, now you're suggesting I disable it? Sure, I'll test that theory later when I have the time, but I really doubt it'll make any difference other than maybe the re-appearance of screen tearing. Also, v-sync sucks, always has, always will.

  • Like 1

Share this post


Link to post
Share on other sites

G-Sync doesn't stop tearing, v-sync does. G-Sync prevents slight stuttering when the rendered framerate drops below the set refresh rate. It does this by lowering the refresh rate to the rendered rate. V-sync prevents tearing by preventing the video card from sending incomplete buffers to the monitor or by sending more frames than the refresh rate allows. G-Sync solves the problem of lower than RR and v-sync solves the problems of higher than RR and/or incomplete frames.

Share this post


Link to post
Share on other sites
G-Sync doesn't stop tearing, v-sync does. G-Sync prevents slight stuttering when the rendered framerate drops below the set refresh rate. It does this by lowering the refresh rate to the rendered rate. V-sync prevents tearing by preventing the video card from sending incomplete buffers to the monitor or by sending more frames than the refresh rate allows. G-Sync solves the problem of lower than RR and v-sync solves the problems of higher than RR and/or incomplete frames.

1519202898_problem-child-facepalm.gif

Share this post


Link to post
Share on other sites

"G-SYNC dynamically matches the refresh rate of the display to the frame rate output of the GPU. This eliminates tearing, minimizes stutter, and minimizes input lag."

 

 

-Morloc

  • Like 1

Share this post


Link to post
Share on other sites
G-Sync doesn't stop tearing, v-sync does. G-Sync prevents slight stuttering when the rendered framerate drops below the set refresh rate. It does this by lowering the refresh rate to the rendered rate. V-sync prevents tearing by preventing the video card from sending incomplete buffers to the monitor or by sending more frames than the refresh rate allows. G-Sync solves the problem of lower than RR and v-sync solves the problems of higher than RR and/or incomplete frames.

 

Stop posting.

Share this post


Link to post
Share on other sites
Try 75hz static. Enable V-Sync. Do you still have micro-stutter? My guess is that you wont. Or it will be greatly reduced.

As I (and likely everyone else) predicted, this did nothing at all other than worsen my gameplay. I disabled G-Sync within Nvidia control panel and my monitor let me know G-Sync got disabled. I started up the game, enabled V-Sync, loaded up the test world. All the stutter issues were still there, but with lower fps due to v-sync. I let it run for several minutes, nothing changed.

 

As I said hundreds of times in pretty much every topic relating to stutters, the problem isn't at our end, it's at theirs.

Share this post


Link to post
Share on other sites

You're right, I said it backwards. Read my prior posts. Micro-stuttering caused by actual framerate being lower than refresh rate causes stuttering. G-Sync does indeed fix that. This is what happens when I don't have enough coffee in me.

Share this post


Link to post
Share on other sites
As I (and likely everyone else) predicted, this did nothing at all other than worsen my gameplay. I disabled G-Sync within Nvidia control panel and my monitor let me know G-Sync got disabled. I started up the game, enabled V-Sync, loaded up the test world. All the stutter issues were still there, but with lower fps due to v-sync. I let it run for several minutes, nothing changed.

 

As I said hundreds of times in pretty much every topic relating to stutters, the problem isn't at our end, it's at theirs.

 

What is your FPS when you have your refresh locked and V-Sync on? Have you run any of the diagnostics that come with MSI Afterburner? This is not going to go away for you until you slow it down enough to get below the worst frame time. There are posts in this thread that show exactly what microstutter looks like on a frame graph.

 

What I can tell you. My system is an I-5 4690k @ 4.0GHz, 16Gb ddr3, GTX 980, with a small intel SSD for windows and a large intel SSD for game storage. I get constant 60FPS with V-Sync on and absolutely no microstutter. I get the same loading stutters and problems when a bunch of zombies start banging on walls in a POI as everyone else. Those problems are not going away and they are not microstutter.

 

Why is it that you seem to have a much faster PC but still can't get a handle on this? I think the problem is somewhere between the keyboard and the chair. The industry standard is 60Hz. If you don't want to go that low then what can anyone do about it? You are operating outside the envelope. I also refuse to believe that you cannot get consistent frame times no matter what you do. Seems to me like there are a lot of things you should be doing but refuse to do because you just don't want to.

  • Like 1

Share this post


Link to post
Share on other sites
What is your FPS when you have your refresh locked and V-Sync on? Have you run any of the diagnostics that come with MSI Afterburner? This is not going to go away for you until you slow it down enough to get below the worst frame time. There are posts in this thread that show exactly what microstutter looks like on a frame graph.

 

What I can tell you. My system is an I-5 4690k @ 4.0GHz, 16Gb ddr3, GTX 980, with a small intel SSD for windows and a large intel SSD for game storage. I get constant 60FPS with V-Sync on and absolutely no microstutter. I get the same loading stutters and problems when a bunch of zombies start banging on walls in a POI as everyone else. Those problems are not going away and they are not microstutter.

 

Why is it that you seem to have a much faster PC but still can't get a handle on this? I think the problem is somewhere between the keyboard and the chair. The industry standard is 60Hz. If you don't want to go that low then what can anyone do about it? You are operating outside the envelope. I also refuse to believe that you cannot get consistent frame times no matter what you do. Seems to me like there are a lot of things you should be doing but refuse to do because you just don't want to.

I'm done talking to you. You continue to disrespect me and assume I'm an idiot with no clue what I'm doing when you can't even manage to do something as simple as read my previous posts. The fact is, I know way more about this issue than you and you have contributed nothing at all to this topic.

Share this post


Link to post
Share on other sites
I also refuse to believe that you cannot get consistent frame times no matter what you do. Seems to me like there are a lot of things you should be doing but refuse to do because you just don't want to.

 

Or, just maybe... You dont actually understand what the problems are.

 

Like, the unity character controller and strafing, for one.

 

Or the many others that are documented already that come back to unity, or the way TFP do things.

 

That have no bearing on our hardware.

 

I have a 4790K, 1080, 16GB RAM + SSD's and a X34 Gsync monitor and its still there.

 

*You* just dont notice it. Now moving on.

Share this post


Link to post
Share on other sites
I'm done talking to you. You continue to disrespect me and assume I'm an idiot with no clue what I'm doing when you can't even manage to do something as simple as read my previous posts. The fact is, I know way more about this issue than you and you have contributed nothing at all to this topic.

 

Oh, I have done no such thing. I assume that you are like me. If I specifically bought hardware so that I could get a better refresh rate and minimal mouse lag then I would want it to work also. I am telling you that it probably wont work well with this game. We all know that. I am not sure what you expect the fun pimps to be able to do about it. They can make some changes that probably wont help that much. The fact is, you didn't even know how V-Sync worked. You haven't even posted any information for anyone to work with. What is your average frame time? What is your highest frame time?

 

Is it not obvious that if you continue to lower your refresh rate with V-Sync on that you will eventually get a stable frame rate that your PC can sustain 100% of the time? No one is suggesting that you play the game like that either. I am just trying to get a baseline through observation.

Share this post


Link to post
Share on other sites

Fixing performance and fps in 7 Days to Die A17 is annoying, but possible.

 

I play on ASUS Strix gaming notebook, 32Gb RAM, i7, GTX1070

At first I was hit by low fps when I just enabled "High" preset.

 

After some manipulations and tweaking, brought it to steady 60 fps outside, with dipping 60-30 fps indoors.

 

Something is very, very wrong with light calculations when torches are present (maybe too much reflective surfaces or smth), and probably some surfaces render content behind them, because naturally and logically, your indoors fps should not be lower than outdoors, since there is almost nothing to render inside and a lot to render outside.

Hopefully devs will figure it out, optimize and fix eventually.

 

Anyway, here are recommended steps:

 

1) Use 7Days Launcher program, found in your Steam/steamapps/common/%7 Days folder%/

Enable Unity launcher, enable Exclusive Fullscreen mode, disable EAC for solo play or private servers with your friends where they don't cheat, run & save as defaults.

 

2) In Unity launcher, make sure you are not running windowed and make sure you are not playing in 4k resolution - the game just dies on 4k density.

 

It's not really 7D2D devs fault though - very small amount of modern action games are actually optimized and playable at 4k density without SLI/monster single vcard.

However, if you are hellbent on playing at 4k resolution - make sure to disable any sort of AA (anti-aliasing) techniques in-game and in Nvidia panel/Inspector - they are not needed at 4k pixel density and only slow the whole thing down.

3) In game options, again, check your resolution (mine is 1920x1080).

Sometimes, on first run the game ignores your resolution settings in Launchers and just enables 4k resolution out of the blue, make sure you are running 1080p or below!

You have to check this in game video options every time you start the game.

 

In game Video options you can enable everything on HIGH preset, with the following exceptions:

 

- Change Reflection Quality to Low (even Off for old vcards, but the water will look like ♥♥♥♥), only use Middle/High if you have godly vcard

 

This is a HUGE dealbreaker, on Middle and above it tanks fps ways too much. Even with fps counter showing 50-60 fps the movements are clearly sluggish and jerky.

Toning this down to Low/Medium makes everything run and feel smooth.

 

- Turn off DoF and Motion Blur, they are tanking fps for no visual gain.

 

- Turn off SSAO, it's not working.

Tried overriding with NVidia Inspector, still not working. Just disabled it through Inspector eventually.

UPDATE: This is really ♥♥♥♥ing weird. I swear I didn't change anything from the last time I have tried it, but now disabling in-game SSAO and enabling it through Nvidia Inspector as "Enabled" in "Performance" mode with default AO flag (0x00000000) - I can clearly see SSAO shadow effects. Not very impressive-looking, but it's definitely there.

 

- Additionally, you can tone down View Distance to Medium and Tree Quality to Medium/High if your vcard is not too stronk. Grass on Normal is fine, Far is not too taxing but whatever.

 

The rest of the options are fine - Full textures, High view distance, High water quality and particles, whatever.

 

4) Since this is Unity game, we can tweak further with Nvidia Profile Inspector app (at your own risk). Works only for Nvidia vcard users!

https://www.softpedia.com/get/System/System-Info/NVIDIA-Inspector.shtml

 

- Fire up Inspector, open 7 Days game profile.

- Set Antialiasing Compatibility (DX) to 0x004000C1

- Set Antialiasing Behaviour to None

- Set Antialiasing - Mode to Override any application settings

- Set Antialiasing - Setting to either 2x 4x or 8x multisapling

(2x recommended, you don't really need more with SGSSAA enabled)

 

- Set Antialiasing - Transparency Multisampling to Off

- Set Antialiasing - Transparency Supersampling to the corresponding super-sample level, depending on your previously chosen multi-sample level, e.g. in case of chosen "2xAA" you select "2x Sparse Grid Supersampling", in case of 4xAA you select 4xSGSSAA and so on.

(2x + 2x SGSSAA is more than enough to remove any jaggies without too much taxing on your vcard)

 

- Set Anisotropic Filtering mode to User-defined/Off

- Set Anisotropic filtering setting to 16x

- Set Texture filtering - LOD bias according to your selected AA mode:

2x SGSSAA: -0.375

4x SGSSAA: -0.875

8x SGSSAA: -1.375

 

Optionally, you can enable FXAA as well in Nvidia panel/Inspector, it adds antialiasing on top of AA, but makes things a bit more blurred, some like it, some don't - personally, I like it since it makes things look less crispy and more realistic, up to you.

 

If anything goes wrong, looks weird and/or you broke the profile - reinstall your Nvidia drivers with "Clean Install" option enabled, this should reset all your game profiles to defaults and will fix the problem.

 

5) Last but not least - let your vcard take care of VSYNC instead of the game engine.

Turn Vsync in game options to OFF

Enable it in Nvidia control panel profile to "Always On" (must-have for GSYNC monitors, otherwise can try experimenting with "Fast" sync as well)

Enable "Triple Buffering"

Tearing Control should be "Standard"

If you have GSYNC compatible monitor, make sure it's enabled through Nvidia control panel as well (in Fullscreen and Windowed modes)

 

This is it, should bring the game to playable smooth fps with occasional dips here and there, which are not fixable due to bad engine/surface coding.

 

Unity is ♥♥♥♥ tbh, I wish they had enough cash to use Unreal engine, but we get what we get.

 

Have fun Nomads!

Edited by Asuzu (see edit history)

Share this post


Link to post
Share on other sites

If I was wealthy I'd give them the cash to switch to UE4, especially now that Unity has changed their rules and is hurting new indie devs. Love my UE4 games.

 

That aside, devs don't exactly need to "optimize for 4K". As far as the code and hardware go, rendering in 4k is the same as rendering in VGA. The only difference is that the card has to render more pixels from the tringles and textures sent to it. That means more pixels to shade, more pixels to render reflections onto, etc. I've been programming in C and now C++ using OpenGL since the 90's and I have never seen anybody claim they need to write different code to make a video card render at some specific resolution. It's really just a matter of horsepower right now.

 

Also, you do not need triple buffering with G-Sync and some users report increased input latency, though I cannot reproduce that personally. Still, if you have G-Sync I do not believe you need triple buffering. The v-sync option has never made a difference on my end over the years whether the game turned it on or I did in the NCP. Maybe it helps on ATI/AMD, I do not know. I prefer nVidia and stopped using them back before AMD bought them due to shoddy drivers (who else here used the Omega drivers instead?) despite overall good quality hardware.

Share this post


Link to post
Share on other sites
If I was wealthy I'd give them the cash to switch to UE4, especially now that Unity has changed their rules and is hurting new indie devs. Love my UE4 games.

 

That aside, devs don't exactly need to "optimize for 4K". As far as the code and hardware go, rendering in 4k is the same as rendering in VGA. The only difference is that the card has to render more pixels from the tringles and textures sent to it. That means more pixels to shade, more pixels to render reflections onto, etc. I've been programming in C and now C++ using OpenGL since the 90's and I have never seen anybody claim they need to write different code to make a video card render at some specific resolution. It's really just a matter of horsepower right now.

 

Also, you do not need triple buffering with G-Sync and some users report increased input latency, though I cannot reproduce that personally. Still, if you have G-Sync I do not believe you need triple buffering. The v-sync option has never made a difference on my end over the years whether the game turned it on or I did in the NCP. Maybe it helps on ATI/AMD, I do not know. I prefer nVidia and stopped using them back before AMD bought them due to shoddy drivers (who else here used the Omega drivers instead?) despite overall good quality hardware.

 

Well, by optimization I mean just that - more and more optimizations, since rendering at 4k requires so much horsepower to stay in reasonable framerate, that these optimization passes are simply redundant for 1080p.

 

Hmm now this is the second time I hear that Triple Buffering is not needed with GSYNC and in fact, might cause slight input lag on some systems (never experienced it though).

I am unsure to be honest, and will keep testing with and without.

 

Nvidia is cursed by Voodoo, and will die someday for their sins, but until then, it's the only realistic quality choice we got lol.

Share this post


Link to post
Share on other sites

You guys are hilarious. You think these devs chose Unity over Unreal because that's all they could afford. These devs are multi millionaires. They chose Unity on purpose because that's what they felt was the right engine to go with.

Share this post


Link to post
Share on other sites

Performance is really terrible in A17. It was bad when A17 first dropped and it's just dreadful in the current build. Things run nominally until I go into a POI (not every POI but most of them) or there are zeds on screen. Then my FPS bottoms out. It's gotten down to single digits. Meanwhile my card (GTX 970) is boiling and the fan is at full throttle.

 

I booted up A16.4 and I get a silky 60FPS with settings maxed. One of many reasons I think I'm going back to A16.4.

Share this post


Link to post
Share on other sites
Performance is really terrible in A17. It was bad when A17 first dropped and it's just dreadful in the current build. Things run nominally until I go into a POI (not every POI but most of them) or there are zeds on screen. Then my FPS bottoms out. It's gotten down to single digits. Meanwhile my card (GTX 970) is boiling and the fan is at full throttle.

 

I booted up A16.4 and I get a silky 60FPS with settings maxed. One of many reasons I think I'm going back to A16.4.

Has nothing at all to do with this topic. You should create your own thread so we can help you out better as that doesn't seem right. GTX 970 should be performing a lot better than that in A17.

Share this post


Link to post
Share on other sites
Has nothing at all to do with this topic. You should create your own thread so we can help you out better as that doesn't seem right. GTX 970 should be performing a lot better than that in A17.

My performance issues include microstuttering. No matter; I have already rolled back at 16.4 and don't see myself reversing course.

Share this post


Link to post
Share on other sites

I use 970, no problems at all. Your card should be close to max load though, as mine is (tested on 2 970's with the same performance results). Sounds to me like a temperature issue. Is it clean?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...