Opened 9 years ago

Closed 9 years ago

#507 closed defect (fixed)

very heavy microstuttering

Reported by: beherith Owned by:
Priority: major Milestone:
Component: BA trunk Version:
Keywords: Cc:

Description

This might just be me, since I havent played online much. But I played 2 games yesterday, and while pings and cpu use were fine, I was getting very annoying microstutters every ~0.5 seconds. This made the apparent frame rate seem much lower than the 60+ it actually was.

Can anyone confirm this?

Attachments (7)

infolog.txt (448.1 KB ) - added by beherith 9 years ago.
infolog.2.txt (607.8 KB ) - added by beherith 9 years ago.
Beherith main PC (client) cto vs widget time jutter
infolog.3.txt (509.4 KB ) - added by beherith 9 years ago.
behe lappy host cto vs widget
infolog.4.txt (569.1 KB ) - added by Bluestone 9 years ago.
bluestones infolog with widget to catch stutters
infolog.5.txt (583.6 KB ) - added by beherith 9 years ago.
Beherith main PC (client) cto vs widget time jutter round 2
infolog_bluestone_game2.txt (527.4 KB ) - added by Bluestone 9 years ago.
bluestone infolog with widget to catch stutters - game2, no orders given
infolog.6.txt (57.4 KB ) - added by kixu 9 years ago.
info log from dworld ffa

Change History (20)

comment:1 by Bluestone, 9 years ago

http://springrts.com/mantis/view.php?id=4138, http://springrts.com/mantis/view.php?id=3845 and there are forum threads too.

There is a real problem here - this issue seems to appear on some systems but not others and (in case of ZK, who spotted it first) they got into a mess reporting it because (1) it was confused with other bugs (net packets, springie lagging, gadget issues) and (2) they didn't manage to prove that it wasn't caused by some of their gadgetry and/or 95.0 incompatiabilities.

I don't have the problem on either of my systems so I'm not much help with debugging it. But if you can replicate what (mostly) GoogleFrog has reported and not managed to get taken seriously then I suspect you'd make a few people very happy ;)

by beherith, 9 years ago

Attachment: infolog.txt added

comment:2 by beherith, 9 years ago

It is very fucking obvious, and very bad for me. Things I have found out:

It only happens for me when playing/speccing online (not catching up to game, but playing live). But then it happens all the time.

It also does not happen when watching a replay.

If I disable SpeedStep and Turbo Boost on my i5 750, it still happens.

My ping is pretty OK, ~200 ms, on a fat pipe.

Im not running out of GPU ram, it is not some GL call being very slow, I tested with gDEBugger.

I have plenty of ram, not much besides a browser running in the background. Freshly restarted system.

The stutters are directly associated with CTO assertion fails. Each time there is a stutter, I get a CTO assertion fail (the causality is correct, I have logflush off).

It only shows the CTO assertion errors when /debug view is on.

/luaui disable, disabling advmapshading and advmodelshading do nothing, as does disabling deferred rendering.

Unfortunatly I cannot /cheat into a live game, otherwise I would disable gadgets too to see if that helped.

It happens very frequently, often more than once per second.

About the attached infolog: I joined a game in progress with /debug on all along, and while I was catching up, I had no errors. After I caught up and specced live, the jitters were back.

My cpu use was %25 as measured by spring's /info.

comment:3 by beherith, 9 years ago

Oh yeah, and it happens all the way from game start.

I tested on my laptop (i3-3217), identical results.

Ive read up on the mantis report and the forum threads and everything.

Plotting the (gameframe % N )==0 often used in gadgets does not show any significant N where the CTO errors occur. Same for drawframe.

Last edited 9 years ago by beherith (previous) (diff)

comment:4 by Bluestone, 9 years ago

"It only shows the CTO assertion errors when /debug view is on. " - its meant to do that.

"Unfortunatly I cannot /cheat into a live game, otherwise I would disable gadgets too to see if that helped." - which host are you on? I think I've got rights to call cheats on all hosts if that could help.

Does it happen when playing on a non-Springie autohost & when you are yourself hosting or on some other human host? NP=0 means NetPackets=0 which jK blamed on autohost (but idk why).

If it does then I suggest talk to Googlefrog and make the bug report jointly with all the info above.

Last edited 9 years ago by Bluestone (previous) (diff)

comment:5 by beherith, 9 years ago

More notes:

It DOES NOT happen for hosts. Only clients get the bug. Tested by hosting 2 ways and via an autohost.

Usehighprecisiontimers has no effect (win7 x64)

Last edited 9 years ago by beherith (previous) (diff)

comment:6 by beherith, 9 years ago

Tested hosting 2 ways with 94.1 and the effect is visible, although nearly not as frequent or as heavy. Completely manageable ( cant say it couldnt be better, but still playable)

http://springrts.com/mantis/view.php?id=4138#c12039 Kloot's comment that DT increaseing 33ms per frame for 500ms is a different beast altogether seems correct.

comment:7 by beherith, 9 years ago

http://pastebin.com/2BGxG405 widget to test frame jitter

comment:8 by beherith, 9 years ago

http://pastebin.com/nbbEYA2J cto vs frame jitter

by beherith, 9 years ago

Attachment: infolog.2.txt added

Beherith main PC (client) cto vs widget time jutter

by beherith, 9 years ago

Attachment: infolog.3.txt added

behe lappy host cto vs widget

by Bluestone, 9 years ago

Attachment: infolog.4.txt added

bluestones infolog with widget to catch stutters

by beherith, 9 years ago

Attachment: infolog.5.txt added

Beherith main PC (client) cto vs widget time jutter round 2

by Bluestone, 9 years ago

Attachment: infolog_bluestone_game2.txt added

bluestone infolog with widget to catch stutters - game2, no orders given

comment:9 by beherith, 9 years ago

The error also appears if hosting over a LAN. The host does not get any errors, the clients do.

comment:10 by beherith, 9 years ago

http://springrts.com/mantis/view.php?id=4171 mantis'ed.

Also, bluestone: I did the FFT with some online tool, and 94.1 has a marked peak at 1hz (bingo!) and 95.0 seems to have a blurred peak at 6.66 hz....

by kixu, 9 years ago

Attachment: infolog.6.txt added

info log from dworld ffa

comment:11 by Bluestone, 9 years ago

Summary: Spring 95.0 + BAR very heavy microstutteringvery heavy microstuttering

comment:12 by Bluestone, 9 years ago

Interesting that 95 was periodic-ish too. I have been leaving /debug running while watching online games and the pattern is this:

1) at start only small CTOs (1-2)

2) gradually increases, can get as bad as CTO of 10-15

3) suddenly stops, i think at the instant where the limiting factor on how fast my drawframes appear is waiting for the appropriate simframe to be done (instead of waiting for netpackets to arrive). at this point fps is too low for 'microstutter' to even make sense

Last edited 9 years ago by Bluestone (previous) (diff)

comment:13 by Bluestone, 9 years ago

Resolution: fixed
Status: newclosed

by kloot

Note: See TracTickets for help on using tickets.