Page 6 of 9

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

Posted: 07 Apr 2019, 13:19
by jorimt
Martinengo wrote:I dont think that option is in my bios, and according to what I've read, my i7 9700k doesnt have hyper threading.
Oh, duh, I spaced. Correct, the 9700k does not have hyper-threading; 8 physical cores, no threads (mine is 6 cores, 12 threads), so forget about that one.

That's probably what 1000WATT was referring to earlier as well.
Martinengo wrote:I have a Gigabyte Aorus Ultra Z390, and I havent find that setting on BIOS, althogh I've disable it on Device Managers, but I cant seem to find that option in BIOS, even searching on google or the manual, I sadly dont see it.
I believe newer motherboard types don't even have an HPET option in the bios. I know mine doesn't. You have to change it and other timer parameters via the Windows command prompt.
Martinengo wrote:Opening Fortnite always led to 1000us on latency mon, even Rocket League increases it. Other drivers sometimes have high us, but consistently speaking: nvlddmkm.sys that one tends to increase, but sometimes other drivers increase as well (not sure why), but I havent been able to stay at the numbers you mention, regardless of opening a game or not.
GPU driver latency usually points to something else that is indirectly affecting it, in my experience.

And yes, this stuff is hard to troubleshoot, which is why I laid out the steps I did a couple posts ago. You want to rule out as much as possible at the software-level before even looking at the hardware-side (component failure, etc) as a possible cause.

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

Posted: 07 Apr 2019, 13:27
by Martinengo
jorimt wrote:
Martinengo wrote:I dont think that option is in my bios, and according to what I've read, my i7 9700k doesnt have hyper threading.
Oh, duh, I spaced. Correct, the 9700k does not have hyper-threading; 8 physical cores, no threads (mine is 6 cores, 12 threads), so forget about that one.

That's probably what 1000WATT was referring to earlier as well.
Martinengo wrote:I have a Gigabyte Aorus Ultra Z390, and I havent find that setting on BIOS, althogh I've disable it on Device Managers, but I cant seem to find that option in BIOS, even searching on google or the manual, I sadly dont see it.
I believe newer motherboard types don't even have an HPET option in the bios. I know mine doesn't. You have to change it and other timer parameters via the Windows command prompt.
Martinengo wrote:Opening Fortnite always led to 1000us on latency mon, even Rocket League increases it. Other drivers sometimes have high us, but consistently speaking: nvlddmkm.sys that one tends to increase, but sometimes other drivers increase as well (not sure why), but I havent been able to stay at the numbers you mention, regardless of opening a game or not.
GPU driver latency usually points to something else that is indirectly affecting it, in my experience.

And yes, this stuff is hard to troubleshoot, which is why I laid out the steps I did a couple posts ago. You want to rule out as much as possible at the software-level before even looking at the hardware-side (component failure, etc) as a possible cause.
Im noticing while playing fortnite, either at 2440x1440 or 1920x1440 (stretched), my gpu usage, even with uncap frames, goes from 40% to 90% during a match, is this normal behavior? seeing videos online doesnt seem to do the same.

I have everything on epic, shadows off, and post processing low. If you have time, could you monitor that please? thanks.

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

Posted: 07 Apr 2019, 13:38
by Kjnmr
Martinengo wrote:
Kjnmr wrote:Disabling the high precision event timer (hpet) will most likely solve the problems described by the original poster. This should be done in the bios.
I have a Gigabyte Aorus Ultra Z390, and I havent find that setting on BIOS, althogh I've disable it on Device Managers, but I cant seem to find that option in BIOS, even searching on google or the manual, I sadly dont see it.
Write gigabyte tech suppport that you need a bios with hpet disabled. I did this with Asrock, as they had no option in bios on their z370 board either and they sent me a modified bios, I am not joking. I wasnt able to test it though because i had swapped my mainboard to an msi z370 gaming pro carbon which has an option in bios to disable hpet.
As you can see I am avoiding hpet at all costs ;)

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

Posted: 07 Apr 2019, 13:46
by Kjnmr
jorimt wrote: I believe newer motherboard types don't even have an HPET option in the bios. I know mine doesn't. You have to change it and other timer parameters via the Windows command prompt.
The parameters via bcdedit only allow you to force hpet as the sole system clock and reverse.
Afaik you can only disable hpet in the bios. I got an msi z370 gaming pro carbon which allows me exactly that.

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

Posted: 07 Apr 2019, 14:48
by jorimt
^ I've been following the HPET on/off debate for years, and years, and years, and it's always the same thing; every once in a while, an HPET thread pops up on some random forum, where the OP claims it either improves performance with it on or with it off, with little more than an explanation that it "feels better."

That, and no one has even seemed to make up their mind whether it is better on or off.

I've probably read almost all there is to read on HPET, and if there is any testing present (which usually, there isn't), it's entirely subjective.

The closest I've ever got to finding an answer on HPET one way or the other was this article a few years back, and it still leaves much to be desired (it's very outdated to boot):
https://www.tweakhound.com/2014/01/30/t ... nchmarked/

And, as far as I'm aware, it has more recently been suggested that any FPS differences in HPET during repeatable benchmarks isn't actually a change in framerate, but in the way the framerate is reported over other timers.

I've personally tried to test this setting in every combination across multiple builds over the years, and, for me, it's still an undeterminable mess that teeters dangerously toward the placebo, at least where direct frametime issues are concerned on modern systems running Windows 10.

That, and I'm pretty sure Windows 10 doesn't enable or disable HPET at default, but instead manages the timer types automatically and chooses to use what's most appropriate for the running app.

I'm not saying you're wrong, I'm just saying, as of yet, there isn't enough measureable, objective evidence to say you are right (or to say that I'm right, whatever "right" is in this case), which is why I choose to omit this step when helping users troubleshoot frametime spikes, especially since the HPET toggle availability differs from motherboard brand to motherboard brand.

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

Posted: 07 Apr 2019, 15:44
by Kjnmr
jorimt wrote:^ I've been following the HPET on/off debate for years, and years, and years, and it's always the same thing; every once in a while, an HPET thread pops up on some random forum, where the OP claims it either improves performance with it on or with it off, with little more than an explanation that it "feels better."

That, and no one has even seemed to make up their mind whether it is better on or off.

I've probably read almost all there is to read on HPET, and if there is any testing present (which usually, there isn't), it's entirely subjective.

The closest I've ever got to finding an answer on HPET one way or the other was this article a few years back, and it still leaves much to be desired (it's very outdated to boot):
https://www.tweakhound.com/2014/01/30/t ... nchmarked/

And, as far as I'm aware, it has more recently been suggested that any FPS differences in HPET during repeatable benchmarks isn't actually a change in framerate, but in the way the framerate is reported over other timers.

I've personally tried to test this setting in every combination across multiple builds over the years, and, for me, it's still an undeterminable mess that teeters dangerously toward the placebo, at least where direct frametime issues are concerned on modern systems running Windows 10.

That, and I'm pretty sure Windows 10 doesn't enable or disable HPET at default, but instead manages the timer types automatically and chooses to use what's most appropriate for the running app.

I'm not saying you're wrong, I'm just saying, as of yet, there isn't enough measureable, objective evidence to say you are right (or to say that I'm right, whatever "right" is in this case), which is why I choose to omit this step when helping users troubleshoot frametime spikes, especially since the HPET toggle availability differs from motherboard brand to motherboard brand.
You are right that there are tons of posts on this subject, claims are made without proof or reasoning.
Turning off hpet in bios will not give you one more fps, but I can assure you it will reduce dpc latency on my current msi mainboard as it did on my previous mainboard. I prefer hpet off as as games run way more smooth on my rig that way.
As implementation of hpet differs from manufacturer to manufacturer, I can't tell what effect it will have on other mainboards.
If you want to read something recent about hpet:
https://www.anandtech.com/show/12678/a- ... -results/2
Be aware they just compared forced hpet (active in bios, forced in win 10 via bcdedit) to not forced (active in bios, default timers in win 10).

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

Posted: 07 Apr 2019, 15:53
by jorimt
Martinengo wrote:Im noticing while playing fortnite, either at 2440x1440 or 1920x1440 (stretched), my gpu usage, even with uncap frames, goes from 40% to 90% during a match, is this normal behavior? seeing videos online doesnt seem to do the same.
Yes, usually very normal. More demanding scene = more GPU usage. Less demanding scene = lower GPU usage. Simply turning your character 180 from a more demanding scene to a less demanding one will cause a drop from 90% to 40% or visa versa.

And remember, video capture while simultaneously running the game takes up resources as well, which could partially explain the higher constant GPU usage, regardless of the scene.
Martinengo wrote:If you have time, could you monitor that please? thanks.
If I get the chance, I'll post them eventually, but not sure what that's going prove for your system at this juncture?

According to your OP (and follow-up posts thus far), it's seems as if you're running out of reasons for the possible causes of your possible issue(s). That said, have you had the chance to try my troubleshooting steps yet?

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

Posted: 07 Apr 2019, 16:02
by jorimt
Kjnmr wrote:Turning off hpet in bios will not give you one more fps, but I can assure you it will reduce dpc latency on my current msi mainboard as it did on my previous mainboard
Oh, yeah, I was just referring to HPET's effect on framerates/frametime spikes specifically. It's possible forcing HPET off with certain configurations could affect what LatencyMon is reading, at least in apps where Windows 10 forces HPET otherwise.

On the subject of DPC latency, I will point out (for all participants here) that LatencyMon actually has more than one method available for monitoring, and the program itself probably isn't immune to the occasional misread (goes for Afterburner readouts as well; with the fact that both the game and the monitoring apps are running on the same system, none of these result are fullproof, just approximate, especially Afterburner's frametime readout).

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

Posted: 07 Apr 2019, 19:39
by jorimt
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).

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

Posted: 08 Apr 2019, 05:52
by 1000WATT
Martinengo wrote: Do you think you could monitor a whole match of fortnite with msi afterburner to check your frametimes?

What are your specs?, mine are not close to being like that at all.
If I understood correctly.

Specs:
OS: Windows 10 64-bit (v1607)
Nvidia Driver: 419.67
Display: ASUS ROG Swift PG279Q
Motherboard: ASUS ROG Maximus X Hero
Power Supply: Corsair HX1000i 1000W
CPU: i7-8700k @5.2GHz (Hyper-Threaded: 6 cores/6 threads)
Heatsink: custom ekwb
GPU: EVGA GTX 1080 Ti FTW3 GAMING 11GB (1860MHz Boost Core Clock 0.9 v)
Sound: mb
RAM: 32GB Corsair DDR4 @3200MHz (Dual Channel: 15-17-17-28, 1T)
SSD (OS): 64GB c300-ctfddac064mag (10 years xD)
SSD (Games): 250GB Samsung 960 EVO NVMe M.2
HDD (Video): 4x 320GB Western Digital 7200 RPM

G-SYNC + NVCP V-SYNC "On" + RTSS 141 limit
6 minutes riding a snowboard all over the map.
https://drive.google.com/open?id=1TslLR ... Dxf53rYphb