Page 7 of 9

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 11:02
by Martinengo
jorimt wrote:Alright @Martinengo, here are my previously un-posted frametime graphs that went along with my two LatencyMon images I posted a while back in this thread.

This should give you a much better idea on what "normal" is on a healthy, well functioning higher-end system (hint: the answer isn't that simple)...

Specs:
OS: Windows 10 64-bit (v1809)
Nvidia Driver: 419.67
Display: Acer Predator XB271HU (27" 144Hz G-Sync @1440p)
Motherboard: ASUS ROG Maximus X Hero
Power Supply: EVGA SuperNOVA 750W G2
CPU: i7-8700k @4.3GHz (Hyper-Threaded: 6 cores/12 threads)
Heatsink: H100i v2 w/2x Noctua NF-F12 Fans
GPU: EVGA GTX 1080 Ti FTW3 GAMING iCX 11GB (1936MHz Boost Core Clock)
Sound: Creative Sound Blaster Z
RAM: 16GB G.SKILL TridentZ DDR4 @3200MHz (Dual Channel: 14-14-14-34, 2T)
SSD (OS): 500GB Samsung 960 EVO NVMe M.2
HDD (Games): 5TB Western Digital Black 7200 RPM w/128MB Cache

All of the below applies to Fortnite running at my display's native res with G-SYNC + NVCP V-SYNC "On."

My "1st session" was captured with the Windows power profile set to "Highest Performance," NVCP "Power management mode" set to "Prefer maximum performance," and game settings maxed with in-game limiter set to 120 FPS...

Afterburner framerate/frametime graph #1:

Image

LatencyMon #1:

Image

As you can see, there are frametime variances from the fluctuating framerate (since my system couldn't maintain 120 FPS 100% of the time) AND frametime spikes evident (43ms was the highest there I believe). And while in-game FPS limiters typically have lower input lag than the RTSS FPS limit, since they set an average framerate target, instead of a frametime target, they usually have much more frametime variances.

We can also see via LatencyMon above, that lower DPC levels don't always necessarily translate to less frametime variances/spikes.

---

My "2nd session" had the same conditions as the "1st session," but the in-game limiter was disabled, and I used a 141 RTSS FPS limit instead...

Afterburner framerate/frametime graph #2:

Image

LatencyMon #2:

Image

Well would you look at that? Even though parts of my DPC readings were improved over the "1st session," and I was using RTSS to limit the FPS instead of the in-game limiter, since I could reach 141 FPS even less of the time than 120 FPS, I had even more (or at the very least, as much) frametime variances, and a spike that actually exceeded 50ms (and also note in the above framerate/frametime graph that where framerate drops, frametime rises in direct relation). That said, when my system could hold 141 constantly, RTSS did a better job than the in-game limiter in keeping the frametimes consistent (the small flat areas visible near the very end of the frametime graph before I exited to the main menu).

---

Okay, so for my "3rd session," what about if I rule out frametime variances from framerate drops by reducing all the in-game settings to low? Also, for the fun of it, I'm now using my default Windows "Balanced" power profile (which clocks down my CPU when idle), and now have NVCP "Power management mode" set to "Optimal power," again, with a 141 FPS limit via RTSS to reduce frametime variances even further, which should really make the frametime spikes stand out:

Afterburner framerate/frametime graph #3:

Image

LatencyMon #3:

Image

Even more interesting. Even though my CPU and GPU are not set to run at 100% clocks all the time now (which actually doesn't matter, as they virtually always kick in appropriately when running a demanding app), and with the in-game settings set to low, I barely saw any frametime variances or spikes compared to the other scenarios, and the few spikes I did have were under 20ms. Not only that, but some of the DPC levels were actually lower (the "Current" reading was only higher because the CPU down-clocking is taking place now at idle) than the previous sessions.

If I hadn't informed you outright, you'd probably assume these frametime graphs were from entirely different systems. However, none of this is strange or unexpected behavior...

Frametime spikes are caused by the system taking longer to render the more demanding frames; the less demanding the frames are to render, the less frametime spikes there are, and the quicker they pass. It's that simple.

This also explains why pro streamers (and even non-streaming pro players in general) have less visible frametime spikes, since they usually play these games at the lowest settings paired with seemingly overkill system specs for the highest framerate possible, and to keep things smooth while both running and streaming the game simultaneously.

And yes, frametime variances, spikes, GPU usage, CPU usage, DPC latency levels, you name it, will fluctuate/change from session to session, even in the same game on the same system. As I said earlier, you're system is simulating the game in real-time, every time; it's not the same thing as playing back a static video (which usually contains entirely predetermined frame information) repeatedly, for instance.

Barring any non-game-specific issues your system has (that we have yet to fully determine either way), you simply want to run the game at the lowest graphical settings possible to have the lowest possible amount of frametime spikes, and to use the RTSS limiter (even though it has up to 1 frame more input lag than in-game limiters) to have the least frametime variances as possible (with the average framerate hitting that limit as much as possible, obviously).

I could have probably even gotten less spikes (maybe even near zero) and even lower DPC numbers by OCing my CPU to 5GHz or more (it auto Turbo Boosts to 4.3GHz in-game currently), disabling all power saving, SpeedStep, and Turbo Boost settings at the bios-level, turning hyper-threading off, disabling both G-SYNC and V-SYNC, and running Fornite from my SSD at the game's lowest available graphical settings and it's lowest internal resolution (like 640x480 levels). Not worth it to me, personally, but a viable (and a frequently used) option for those playing at pro-level.

---

Bonus post from another thread containing a frametime/framerate graph of Fortnite running on my system (note the graph looks wildly different from the previous three; separate sessions in the same game on the same system can easily cause this due to differences in map routes taken, amount of visible enemy models, how many firefights/explosions take place, netcode, ping, etc):
viewtopic.php?f=5&t=5045&start=10#p39136
jorimt wrote:
GFresha wrote: Don't know if its possible if you have fortnite and msi afterburner installed if you can run a frametime graph in game for a few minutes and see if you get the same results.
I played a solo match, eliminated two, placed 4th:

Image

Highest spike I saw was 25.9ms (others were in direct relation to framerate fluctuation; didn't have a constant 141 FPS lock). The spikes near the very end of the graph were from me exiting the game.

In-game settings were maxed, in-game FPS limiter was set to unlimited, I used RTSS for a 141 FPS cap (I usually use the in-game 120 cap, but assumed you were using RTSS, and I wanted to replicate), fullscreen optimizations were left enabled for the game exe, Game bar/DVR disabled, Game Mode enabled, and the game is installed on my 5TB HDD (Western Digital Black 7200 RPM w/128MB Cache).

I was running G-SYNC + NVCP V-SYNC "On" (full PC specs in sig), my NVCP settings were "Maximum pre-rendered frames" at "1," and "Power Management mode" at "Prefer maximum performance" for that game profile.

The only background program I had running was Afterburner/RTSS.
---

Bonus image of all my Afterburner readouts during my "3rd session" from this post:

Image

Oh, and fun fact: while the RTSS FPS limiter has steadier frametimes than almost any other limiter, it doesn't actually have perfect frametimes. The reason the framerate/frametime readouts appear perfectly flat when using the RTSS FPS limiter (with the FPS sustained above the set limit) is because RTSS can only read framerate and frametime below it's set limit, not above, so while those upper frametime variances are still there (the RTSS limiter can actually fluctuate up to about a frame above it's set limit), it just can't reflect them in the graph when it's set as the limiter (which it can do when an in-game limiter is set instead, which makes the in-game limiter look even more unstable than it is when directly compared to RTSS).

Impressive and really interesting. Ive done almost all the things you mentioned in your troubleshoot steps. Im not sure how good the power is in my house, so I will check that. I will play fortnite at the lowest posible today while nonitoring the match and post my screen. As for LatencyMon. When I open fortnite, or play with it, the nvidia driver usually goes to 1100 as I posted before, not sure what to do in this case.

Also, I think background network process (like discord open while playing rocket league in practice mode, or even lther games), contributes to part of my stuttering. Not sure if this could mean a problem with my motherboard, or if I should try and ethernet or wi fi adapters.

I truly appreciate the patience you have had with me, and all the helpful information. I also appreciate everyone else who has given their advise, posted their benchmarks and resources.

Im glad that I found this forum, because even though Ive been helped and advised in other communities, this is the one that has felt more "direct" and willing to help.

I'l

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 11:35
by jorimt
Martinengo wrote:Ive done almost all the things you mentioned in your troubleshoot steps.
Good to know. There's some, but not much else you can try beyond that, really, at least without starting to swap out or remove some parts.
Martinengo wrote:As for LatencyMon. When I open fortnite, or play with it, the nvidia driver usually goes to 1100 as I posted before, not sure what to do in this case.
Again, possibly a storage device configuration issue. I asked you in an earlier post if you had any HDD secondary drives or optical drives? Sometimes, if those are improperly configured (including your primary SSD) or even plugged into the wrong SATA port, they can cause things like that. I'd have to inspect your system in person to say anything further, unfortunately.
Martinengo wrote:Not sure if this could mean a problem with my motherboard, or if I should try and ethernet or wi fi adapters.
Regarding the DPC spikes you're seeing, it could be a hardware issue, don't know. But, again, in my estimation, from the frametime graphs you posted, there's nothing abnormal I see in that respect (DPC latency levels and frametime performance in games can sometimes be separate of each other).
Martinengo wrote:I truly appreciate the patience you have had with me, and all the helpful information. I also appreciate everyone else who has given their advise, posted their benchmarks and resources.

Im glad that I found this forum, because even though Ive been helped and advised in other communities, this is the one that has felt more "direct" and willing to help.
Not a problem, and while I don't have much else to add at this point (other than working with your system directly or posting screenshots of all my NVCP and relevant Windows settings, along with a capture of my running Processes/Services at idle, the latter of which I may end up doing later here for you to compare), feel free to keep us up-to-date on any progress you make on this.

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 12:06
by Martinengo
Im posting from my cell phone right now. I played with everything low for a little bit, and at a 1000ms polling rate, my graph doesnt look as flat as yours. Even capped at 120fps. I still had lots of variance and 25ms spikes. Im thinking there might be a network adapter issue related (begause Im not at my current house right now, but Ive noticed playing games like Rocket League after disabling ethernet and wi fi adapters makes the free training mode less stuttery). Sometimes when Im on discord and playinh the witcher, I feel like its less smooth than without having discord. I still have frame time spikes in the witcher, but I will test at my house again. Im thinking is a problem of the motherboard or the adapters because its the same in different houses.

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 12:10
by Chief Blur Buster
Good datapoint.

If you're using the included/builtin WiFi and network adaptors, it's quite worth mentioning that the quality of the hardware built into motherboards, defect-free specimens, and drivers/bugs associated with them -- vary quite a lot. And that's why playing the motherboard lottery sometimes gives quite dramatic LatencyMon changes. It's a HUGE hassle, but it's an additional datapoint since most people use the built-in adaptors of the motherboard. If that's what you are using, then full circle back to our "Motherboard Lottery" advice.

At some point, sometimes it's a lot less hairpulling to just grit teeth, pony up the gold, and swap motherboards -- than to lose sanity on diminishing returns of lots of manual tweaking/troubleshoot. It hit so many birds with one roll of a stone dice with better odds.

P.S. Ever upgraded your Internet router to a gaming-optimized one? A gigabit-friendly online-gaming-era modern router usually has lots of performance headroom to noticeably reduce network stutters in many games, though it shouldn't even be affecting your solo gameplay. Most cheap/older "included-with-ISP" routers are often crap and should just WiFi-disabled and bridge-moded/daisychained into a proper well-selected self-purchased router.

And your friend houses probably don't have gigabit-Internet-capable gaming-optimized routers -- 90% just use those routers included with their ISP. And while a few beautiful specimens exist, many ISP routers are just commodity shovelhardware. Heck, some of those sitting at friends still only have 100-megabit Ethernet ports and a piddly processor barely able to route even that fast. Some modern routers are performance overkill, but pushing only 25Mbps through a gigabit-Internet-capable router, makes the same 25Mbps feel better than through a cheap older router, thanks to all that extra performance headroom to process all those packets with minimal router-induced jitter. It's actually a noticeable difference, some cheap routers add a lot of jitter as they struggle to thread all its internal filtering/routing/etc overheads in a modern IoT household full of Androids/iPhones/iPads/Netflix/smartTVs/etc (even when they're just idling, they're pinging and polling all the time and adding noise to the WiFi airwaves that slow down the PC WiFi -- or even the PC Ethernet -- as those old WiFi router processors were often single-core and had to multitask routing the Ethernet/WiFi. Sole WiFi device and no neighbours using WiFi, you're often fast. But 10 or 50 WiFi devices (even 9 of them idling and merely pinging for updates/new messages) plus your neighbours, now your WiFi is clogged and all that struggling within an old crusty router actually sometimes bleed to Ethernet port underperformance. Overloaded to the point where a surge of a few tiny email/Messenger packets actually build up to a noticeable human-visible network-induced stutter for the game connection. In those crappiest, oldest routers that use the same single-core processor for everything (WiFI+Ethernet). Yuck. You can't imagine how many >10-year-old routers are still in use today!

(FWIW, I have gigabit Internet now, but for years I was on various Internet connections 6Mbps through 50Mbps -- and a really good router does make a noticeable difference too when working with a good motherboard with good networking).

Certainly networking is part of the stutter puzzle, but it does not excuse a crappy motherboard or networking. A good router must be talking to good networking (in motherboard or add-on adaptor) to truly sing nice numbers.

And even if networking is fixed, you might not fix everything related to the motherboard. There are so many weak links lurking in some motherboards (even of top-quality brands) that the motherboard lottery can still be worthwhile above-and-beyond fixing networking.

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 13:00
by jorimt
Martinengo wrote:Im thinking there might be a network adapter issue related (begause Im not at my current house right now, but Ive noticed playing games like Rocket League after disabling ethernet and wi fi adapters makes the free training mode less stuttery)
Hm, good to hear one of my earlier suggestions may be having an effect on this. Networking can obviously have a huge impact on framerate/frametime performance in online games.

For reference, my Netgear Nighthawk C7000 (modem/router combo) is wired directly to my motherboard's ethernet port:

Image

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 13:01
by 1000WATT
Martinengo wrote: I want to compare, it doesnt seem normal to be runninh around and having the screen pause for half a second every 45 seconds.
I could be wrong. Every 60 seconds + 0.1-1 seconds the screen pause. This is the work of the Amazon server balancer. TTL 60. This can be solved on the side of amazonaws.com. https://imgur.com/a/s2KtY61

A man came to ask about the game, and he would leave as a IT specialist, overclocker, with a router on openwrt xD

Martinengo what they are talking about clearly. sometimes it happens. https://youtu.be/gheB6ND-9nw

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 14:27
by Vega
I've noticed more and more in modern games there are larger FPS swings and less well paced frames. This basically necessitates VRR which means ruling out strobing/BFI as a viable way to get motion clarity unfortunately.

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 14:31
by Chief Blur Buster
Golden! VRR for the win.

Get the stutters down to an acceptable level, then use VRR to band-aid the rest of the stuff away.

VRR to sweep all of this stutter FUD under the rug. Call it a day. :D

*grabs broom*

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 15:44
by Vega
Chief Blur Buster wrote:Golden! VRR for the win.

Get the stutters down to an acceptable level, then use VRR to band-aid the rest of the stuff away.

VRR to sweep all of this stutter FUD under the rug. Call it a day. :D

*grabs broom*
Ya but needing 1000 Hz sample and hold to get the same motion clarity as 100 Hz with a 1ms strobe (everything else bing equal) sickens me lol. I miss that clarity...

Re: Frame times dont match with frame rate, causing stutteri

Posted: 08 Apr 2019, 16:09
by theangryregulator
Vega wrote:I've noticed more and more in modern games there are larger FPS swings and less well paced frames. This basically necessitates VRR which means ruling out strobing/BFI as a viable way to get motion clarity unfortunately.
Yeah this 100%. It's so annoying but VRR helps a bunch.