Jump to content
stupor-mundi

Understanding the multiplayer aspect of microstutter

Recommended Posts

Further in the past, when I ran IL-2, there was quite strong microstutter. I played around with a number of graphics settings (there are a number of threads about this), which improved the situation.

 

Microstutter, as I encounter it in IL-2, goes hand in hand with a framerate reduction, but is perceivable as different, more disruptive.
I run Vsync 60 Hz. At microstutter, the fps displayed drops from 59/60 to for instance 45, but there is a visual disruption that is much worse than you would expect from proper 45 fps. Longer halts, multiple per second usually.

 

After my graphics settings improvements, in multiplayer, in most situations, there is no microstutter.

 

On populated servers with large maps, like WoL, I can tell, when looking for the combat area, when I overfly an area with action, by the microstutter (and displayed fps), that I have found it.

 

On those servers, I think there is a 'visibility bubble' type multiplayer problem, which is often misunderstood as a visibility problem, where you seem to be flying around as a lonely plane (typically at high altitude), until the server finally (belatedly) recognizes that you are in a geographical box with some other planes, at which point you suddenly can see them, and at the same time the microstutter starts.

 

I.e. you typically don't achieve what you would want, to have visibility of another plane (ideally just one) as soon as the 10km visibility boundary would allow. Rather, unpleasantly, you fly around in a desert, until you dumped into a phonebox with unpleasantly many planes.

 

It seems, the more planes are in the 'bubble' with you, the worse the microstutter will be.

 

When driving a tank, when there are only tanks, no planes, there is no microstutter. I find this interesting because you are in a small 'bubble' with more 'player vehicles' than otherwise. When there are (player controlled) planes, there is microstutter and it can get very extreme. So the speed of the 'player vehicles' seems to matter for the microstutter.

 

I run on a quad core (but low wattage) laptop with an external GPU, 1070, of Thunderbolt.

 

I find it interesting, but confusing, that initially, changing some graphics settings helped somewhat, but at the core, the microstutter seems to be a multiplayer, netcode related issue.

 

So I wonder if others who use an eGPU have similar experience, and whether I could expect an improvement if I move to a desktop type machine with a graphics card right in the machine.

 

Considering that the issue clearly has to do with multiplayer, the client and server locations might matter more than the client hardware. I am in the UK and most servers I have used are in Russia (and where the other clients, players, are, will matter).

Edited by stupor-mundi
  • Upvote 1

Share this post


Link to post
Share on other sites

This is the kind of topic that is a little pointless to speculate about as it could be caused by so many things and the only sure answer would have to come from the developers.

 

Having said that, in a lot of multiplayer games (especially sims) the client will predict the most likely future positions of actors in the game based on their current speed, facing and player inputs and if there is a large discrepancy then the client has to correct the position of the actors and then restart the process of predicting the actor's movement based on the new data from the server. That could be expensive enough to cause this kind of stutter I guess, depending upon how it was done, especially if the GPU was used for physics simulation if it is affected by graphics settings like you say.

 

The reason you would see this for aircraft and not tanks is that tanks don't move fast enough or turn fast enough to deviate wildly from the predicted positions.

 

That's a pure guess based on the most flimsy of evidence so take it with a few salt mines' worth of salt.

 

On the other hand, a lot of people speculated that the micro stutter in IL2 1946 could be cured by graphics settings, and I'm reasonably sure that was caused by some combination of Java GC, using a 32-bit JVM and having too low a limit on the max heap size for more modern machines, so who knows what's really going on.

Edited by Hylo
  • Upvote 1

Share this post


Link to post
Share on other sites

@Hylo , it seems we are thinking along the same lines, as to the potential mechanisms of this microstutter.

 

As for such speculations being somewhat pointless, I don't quite agree. I'm trying to establish whether my experience of microstutter is what the mainstream experiences, especially people who fly (and maybe tank) on the same servers, but who will have different hardware, and many will be in different locations.

 

To exagerrate it a bit, potential outcomes could be:

 

* it's purely to do with the netcode on the server, nothing the player can do, local hardware wise, to improve it.

* the above, and has to do with how overloaded the server is. flying on less stressed servers will solve it.

* it's purely to do with network latency, nothing I can do as long as I'm in the UK and the server is far away.

* the above, but, as a player, getting faster broadband improves it a lot.

* it's a cpu bottleneck, a low wattage laptop cpu can't do the job

* it's caused by the extra delay between gpu and cpu, which happens when using an external gpu over thunderbolt. Need a desktop PC.

* using a regular 60hz monitor is hopeless, you need a gaming monitor

and more variations like that.

 

So I'd be very keen to find out whether my experience is an outlier, or that amount of microstutter is just considered normal and you have to put up with it.

 

Edited by stupor-mundi
  • Upvote 1

Share this post


Link to post
Share on other sites

I couldn't solve my micro (and macro) stutter in multiplayer until I upgraded from a 2GB VRAM video card to a 8GB VRAM video card. That seemed to be the thing that I needed.

  • Upvote 1

Share this post


Link to post
Share on other sites

I agree with ShamrockOneFive, I went from a 980TI video card to a 1060 and it cured my multiplayer stutter.

Edited by GSP_Hund
  • Upvote 1

Share this post


Link to post
Share on other sites

he already have 8gb 1070, so probably problem is cpu, but going from full screan to windowed and turning on 4k textures should eliminate problems

  • Upvote 1

Share this post


Link to post
Share on other sites
11 hours ago, =EXPEND=Capt_Yorkshire said:

I had a lot of stutters and lag when in a busy area , i fixed it buy unticking fullscreen in the graphics options.  give it a try.

 

Interesting how these settings can have inverse effects for different people. Are you using Vsync?

 

I have a 60hz monitor and am using Vsync. For me, what helped to reduce microstutter (to my current level), was, to turn in-game Vsync off and turn Vsync on, in Nvidia control panel, and to turn fullscreen ON.

 

Have just tried with fullscreen OFF, again. It apparently makes the Nvidia Vsync setting powerless, so I had vsync off apparently, framerate went, at times, above 70, but looked FAR worse. But, in a tank, in a busy area with planes, looking at the planes, framerate went down below 40, stutter was at least as bad as before.

So, just for kicks, I turned in-game Vsyc on, now fps are again limited at 60, go down as before in a busy area, microstutter is certainly not better, but maybe worse.

 

Interesting experiment, I'll go back to my normal settings now :)

 

 

 

13 minutes ago, 77.CountZero said:

he already have 8gb 1070, so probably problem is cpu, but going from full screan to windowed and turning on 4k textures should eliminate problems

 

Regarding windowed, please see my other reply. Regarding 4k textures, I have them on, that's my normal setting.

 

Regarding CPU, I will try to investigate that. I used to have trouble with multitasking, but since I run IL-2 as admin, this has improved. So maybe I'll be able to use task manager to see what the cpu load is like.

 

 

34 minutes ago, 77.CountZero said:

so probably problem is cpu

 

I did some tests with task manager. My cpu is 4 core (8 logical), but task manager only seems to show an aggregated view.

I drove around on a completely empty server, and then on a busy server (tanks+planes), where my fps dropped below 40.

The shown cpu load tops out just under 40%, interesting, on the empty server the percentage wasn't much lower.

 

First I thought that means cpu is fine, but considering that IL-2 *probably* is bad at using many cores, maybe this means cpu IS the problem.

I will try to get some better diagnostics, showing all the cores. But yes, it looks likely that's the issue right there.

Share this post


Link to post
Share on other sites

How about enabling dynamic resolution so you are not getting below 60 fps in those busy areas? I think it is a much better trade off to have your game rendering at a slightly lower resolution, which usually is hard to even notice, for a couple seconds and stay locked at 60 fps.

Edited by Tommy544
  • Upvote 1

Share this post


Link to post
Share on other sites
2 hours ago, Tommy544 said:

How about enabling dynamic resolution so you are not getting below 60 fps in those busy areas? I think it is a much better trade off to have your game rendering at a slightly lower resolution, which usually is hard to even notice, for a couple seconds and stay locked at 60 fps.

 

I'll try it out.

However, I'm more interested in understanding the logic behind what's happening, or rather, whether, based on the 1070 gpu I've got, I shouldn't really be able to expect not having to deal with such a trade-off.

I think I forgot to mention anywhere above that my resolution is 1080p. Should be a picnic for a 1070 really.

 

Since the stutter, which I believe is worse, and diffrerent from, the simultaneous fps drop to around 40, is multiplayer- and busy-area related, I find it weird to have to address such a thing with graphics settings. It makes no sense to me that rendering the scene which normally is no challenge to my gpu, should become a challenge when there are some planes present, in multiplayer, whereas the same thing, offline, would be no challenge at all.

 

Yesterday my laptop has started acting up again, with noises indicating a faulty fan, after it had just been exchanged back in November.

My main angle at the moment is to suspect that cpu might be the bottleneck, and so I'll just give up trying to debug this until the machine is fixed.

I just checked the cpu core temps which are high-ish, under no load, so it may be that the cpu was throttling when I tested earlier today.

 

--

To verify my point above, in spite of the questionable state of my cpu cooling, I did a quick mission with 2 flights of friendlies (of 2 friendlies each, including me), and 2 flights of enemies (of 4 enemies each), face to face. So I was in a tight space with 11 planes, and my fps counter was glued to 60, everything looked entirely smooth.

 

Edited by stupor-mundi

Share this post


Link to post
Share on other sites

Thermals will always be an issue on (most) laptops, something is going to get throttled somewhere, my current desktop build will have 11 fans from 120mm, 140mm to 200mm to keep balanced cooling, obviously a very extreme example/comparison, but with laptops (comparitivly) limited cooling some compromises will have to be made on settings to keep temps under control, very doable but you have to be realistic

 

Cheers, Dakpilot 

  • Upvote 1

Share this post


Link to post
Share on other sites

Two biggest improvements for me have been: 1. Trying between about ten different Nvidia drivers and selecting the one that ran things smoothest. 2. Putting my monitor on a custom refresh rate of 55 Hz.

 

I'm using a laptop with an undervolted CPU and an overclocked GPU. I've managed to have it throttling once because of bad airflow, and the result was ridiculous macrostuttering. The microstuttering has absolutely nothing to do with throttling IMO. 

Edited by Mora
  • Upvote 1

Share this post


Link to post
Share on other sites

My laptop's fan wasn't sounding sketchy today, so I did some more testing. There were plenty of player-planes on the EFront tank server, good opportunity.

 

The thing that pushes down my displayed fps more than anything, and causes microstutter to the level of slideshow, is, when in a tank, getting strafed by cannon, when looking at the plane (and, therefore, the shots, and explosions). Assuming multiplayer of course.

 

That didn't occur though. I could establish though, that fps (and visuals) degrade rapidly, when (being in the cupola, with the hatch open), looking around in the sky rapidly (i.e. horizontal change), when there are (player controlled) planes (there were about 8, nearby) in various sectors of the sky. I was able to push down displayed fps below 20.

 

There were no cpu spikes which correlated with the low fps, cpu remained around 60ish (on the most loaded core) max. The other cores lower. But checking the GPU in task manager (why hadn't I done that before??), the load was steadily close to 100%. I don't quite know how task manager gets the gpu load, over thunderbolt, but I have to assume it can, and the values are legit.

 

So, this is just mind bending. It's pretty clear that cpu is not the bottleneck, but gpu is.

 

My head hurts, trying to come up with some model of how this could work, that, in multiplayer, a 1070 can't do the job of rendering the scene properly (at 1080p), when offline it's clearly no issue, not even close.

The only thing approaching an explanation would be that object position updates that come streaming in, cause IL-2 to throw away most of the rending work the gpu has already done. or something.

 

 

Share this post


Link to post
Share on other sites
5 hours ago, stupor-mundi said:

My laptop's fan wasn't sounding sketchy today, so I did some more testing. There were plenty of player-planes on the EFront tank server, good opportunity.

 

The thing that pushes down my displayed fps more than anything, and causes microstutter to the level of slideshow, is, when in a tank, getting strafed by cannon, when looking at the plane (and, therefore, the shots, and explosions). Assuming multiplayer of course.

 

That didn't occur though. I could establish though, that fps (and visuals) degrade rapidly, when (being in the cupola, with the hatch open), looking around in the sky rapidly (i.e. horizontal change), when there are (player controlled) planes (there were about 8, nearby) in various sectors of the sky. I was able to push down displayed fps below 20.

 

There were no cpu spikes which correlated with the low fps, cpu remained around 60ish (on the most loaded core) max. The other cores lower. But checking the GPU in task manager (why hadn't I done that before??), the load was steadily close to 100%. I don't quite know how task manager gets the gpu load, over thunderbolt, but I have to assume it can, and the values are legit.

 

So, this is just mind bending. It's pretty clear that cpu is not the bottleneck, but gpu is.

 

My head hurts, trying to come up with some model of how this could work, that, in multiplayer, a 1070 can't do the job of rendering the scene properly (at 1080p), when offline it's clearly no issue, not even close.

The only thing approaching an explanation would be that object position updates that come streaming in, cause IL-2 to throw away most of the rending work the gpu has already done. or something.

 

 

 

That's pretty consistent with my experience too. Interesting theory at the end as well!

Share this post


Link to post
Share on other sites
On 1/19/2019 at 5:33 PM, GSP_Hund said:

I agree with ShamrockOneFive, I went from a 980TI video card to a 1060 and it cured my multiplayer stutter.

Stutters in MP has nothing to do with hardware. In most cases. It is indeed tied to "poor" netcode. I tested IL2 on two rigs. One with modern i5 4.2 Ghz and GTX10603GB and one with modern i7 and gtx 1070 (my friends PC). 8 and 16GB of DDR4 RAM respectively, SSD hard drives. One on 1200p other in 1080p monitor.They both had stutters in MP depending on the evening and the number of players online. Some nights was super fluid. Most nights are fluid in MP for me (i5 rig). Heck I was playing smoothly on most nights online with G4560 at 1200p, FPS locked to 60!

So again and again, In most cases its not the hardware that causes stutters online.

We had the same problems in ROF btw. Its the same engine but older.

 

BTW this topic is for hardware subforum.

Edited by blackram
  • Upvote 1

Share this post


Link to post
Share on other sites

righr click il2.exe, property ,compatibility , tick on disable the fullscreen optimization. have a try!

  • Thanks 2

Share this post


Link to post
Share on other sites

what fixed stutter for me was setting the FPS limiter from 60 to 80 

  • Upvote 1

Share this post


Link to post
Share on other sites
9 hours ago, =GM=GJL2 said:

righr click il2.exe, property ,compatibility , tick on disable the fullscreen optimization. have a try!

 

I've changed the setting, but the tank server is now too empty, I'll have to wait till tomorrow to try it out on the loaded server.

 

3 hours ago, E4GLEyE said:

what fixed stutter for me was setting the FPS limiter from 60 to 80 

Are you running against a 60hz monitor or something faster? (Mine is 60hz)

 

14 hours ago, blackram said:

Stutters in MP has nothing to do with hardware. In most cases. It is indeed tied to "poor" netcode. I tested IL2 on two rigs. One with modern i5 4.2 Ghz and GTX10603GB and one with modern i7 and gtx 1070 (my friends PC). 8 and 16GB of DDR4 RAM respectively, SSD hard drives. One on 1200p other in 1080p monitor.They both had stutters in MP depending on the evening and the number of players online. Some nights was super fluid. Most nights are fluid in MP for me (i5 rig). Heck I was playing smoothly on most nights online with G4560 at 1200p, FPS locked to 60!

So again and again, In most cases its not the hardware that causes stutters online.

We had the same problems in ROF btw. Its the same engine but older

This matches well with my experience. It seems to be the power of the server, in relation to how many players are on it, or rather, in close proximity to each other. The combination of tanks and planes seems to have an extra strong effect, maybe just because tanks tend to sit closer together, and then attract planes to the same area.

I suppose it's some consolation to think that the other players are equally affected.

 

Edited by stupor-mundi

Share this post


Link to post
Share on other sites

60hz yes, before the setting shadowplay showed that I have 58-59  FPS and it felt not even remotely close to that.

Share this post


Link to post
Share on other sites

I have no microstutter, on none of the servers you mentioned. And I'm very sensitive to such things, I notice immediately. 

 

It must be your laptop @OP. 

  • Confused 1
  • Upvote 1

Share this post


Link to post
Share on other sites
On 1/21/2019 at 1:22 PM, =GM=GJL2 said:

righr click il2.exe, property ,compatibility , tick on disable the fullscreen optimization. have a try!

 

😮  !!!!   SHOCKING! Haven't had a chance yet to check it on a max. loaded tank server, but even from the test so far, CLEARLY a lot smoother, lower load on both gpu and cpu.

And while I can still push the fps down a little by rapidly looking around, it's harder, and 45fps look like actual 45fps, i.e. quite ok, and not like some kind of nightmare for people who are afraid of shaky things.

They should have a huge sticker on the IL-2 home page to check this setting!

14 hours ago, SCG_Fenris_Wolf said:

I have no microstutter, on none of the servers you mentioned. And I'm very sensitive to such things, I notice immediately. 

 

It must be your laptop @OP. 

Just as I thought the views on matter were converging a little bit, it's back to square 1 . :)

 

 

 

15 hours ago, E4GLEyE said:

60hz yes, before the setting shadowplay showed that I have 58-59  FPS and it felt not even remotely close to that.

Once I'm done making extra sure that the " fullscreen optimization" change had the huge effect I think it has, I'll play around with the hz a bit.

Edited by stupor-mundi

Share this post


Link to post
Share on other sites
2 hours ago, stupor-mundi said:

 

😮  !!!!   SHOCKING! Haven't had a chance yet to check it on a max. loaded tank server, but even from the test so far, CLEARLY a lot smoother, lower load on both gpu and cpu.

And while I can still push the fps down a little by rapidly looking around, it's harder, and 45fps look like actual 45fps, i.e. quite ok, and not like some kind of nightmare for people who are afraid of shaky things.

They should have a huge sticker on the IL-2 home page to check this setting!

Just as I thought the views on matter were converging a little bit, it's back to square 1 . :)

 

 

 

Once I'm done making extra sure that the " fullscreen optimization" change had the huge effect I think it has, I'll play around with the hz a bit.

 

This setting takes my bos from unplayable to perfect. 

Share this post


Link to post
Share on other sites
16 hours ago, stupor-mundi said:

Just as I thought the views on matter were converging a little bit, it's back to square 1 . :)

 

I am sorry! 🙏

But maybe consider, it might be better in the end, if you have found the actual reason and the solution to it, for any case 😁

Edited by SCG_Fenris_Wolf

Share this post


Link to post
Share on other sites
16 hours ago, stupor-mundi said:

😮  !!!!   SHOCKING! Haven't had a chance yet to check it on a max. loaded tank server, but even from the test so far, CLEARLY a lot smoother, lower load on both gpu and cpu.

And while I can still push the fps down a little by rapidly looking around, it's harder, and 45fps look like actual 45fps, i.e. quite ok, and not like some kind of nightmare for people who are afraid of shaky things.

They should have a huge sticker on the IL-2 home page to check this setting!

 

Is this tip specific to laptop ?? I tried it when @=GM=GJL2 suggested and it was a horrible result here : macro-stutters all over when I had none previously.

Should I give it a 2nd chance ?

Edited by Solmyr

Share this post


Link to post
Share on other sites
8 hours ago, Solmyr said:

 

Is this tip specific to laptop ?? I tried it when @=GM=GJL2 suggested and it was a horrible result here : macro-stutters all over when I had none previously.

Should I give it a 2nd chance ?

 

Quite confusing how different people get opposite results. For me, setting in-game Fullscreen works best, but, combined with setting Vsync on in Nvidia control panel rather than in-game. I think this is the opposite of the 'official' recommendation.

The positive effect of this setting may have something to do with the above.

 

I'm running on a laptop with a higher native solution, and have set it up that the laptop screen is off when I have the 1080p, 60hz screen plugged in. The external monitor goes into an eGPU which may play a role here?

 

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

×
×
  • Create New...