[SOLVED] Stutter/lag spikes problem

Mar 16, 2019
5
0
10
Hi,
first of all I'm not a native english speaker, so ,,sorry for my english" :p.
About a month ago I've upgraded my old Gtx 750ti to Rtx 2060. When it came to me I uninstalled old drivers with DDU, installed new card in slot, then installed the newest drivers available. From all of the games that I have (Rainbow 6, For Honor, *Battlefield 1, Overwatch) there weren't any problems, untill I tried to play War Thunder. Maybe I haven't seen a problem because I thought it was the graphics card's fault, but when I finally got better card I realised that my game is stuttering. Now it looks something like this: It' kinda like some files/textures are still loading and then there's a big lag/stutter for a second or two, but in my case it's a slight micro-micro freeze that is occruing randomly, not every two second just randomly: in hangar as well as while in battle (when I'm driving as well as standing and doing nothing). I'm using 75hz monitor with freesync, I'm also using G-sync compatible + v-sync paired with rivatuner fps limiter set to 73 fps. I can see these lags on Msi Afterburner's frametime graph as slight jumps, sometimes they look like a little bump, sometimes there's a huge spike on the graph. Similiar thing happenes to me for example in For Honor, but really, really rarely, only before the actual match, while map is loading and it's, I would say, a stronger stutter than this in War Thunder.

*I've had really bad stutters in Bf1 because of only 8gb of RAM in my computer, but I've fixed it like 2 day ago with ,,Intelligent Standby list cleaner". Unfortunatelly this wasn't sollution in War Thunder's case.

Here's list of sollutions that I've tried: disabling HPET, updating every driver on my computer, RAM oc to 3200Mhz, setting my settings in War Thunder to the lowest, setting custom size of Pagefile, disabling Nvidia Geforce overlay, reinstalling graphics card drivers, moving game to my SSD drive, turning off g-sync + v-sync, changing screen refresh rate, updating bios, reseting bios to default settings, checking RAM and for erros, checking HHD and SSD drive for errors, reinstalling the game itself.
None of these fixed my problem.

I'm not really having problems with temps: stock ryzen cooler and max temperature that I've seen was about 81 degrees Celsius after RAM oc while playing Battlefield 1, average temperature is about 40-50 degrees Celsius. Processor's clock speeds are looking fine to with min 3398Mhz. One thing that is bothering me is that one of my threads (the 12th) is 99% of the time at 100% usage. I usually fix that with ,,Affinity reset", but stutter don't go away.
I'm very close to giving up, because I can't find any fix on the internet. Hopefully you guys can help me in any way. Thanks in advance for your help.

PS. I'm attaching screenshots from Msi Aterburner from a typical match in War Thunder.

System specs:
Ryzen 5 1600
Rtx 2060 Palit OC
Msi B350 PC MATE
Corsiar Vengeance LPX 3200Mhz
Antec VP500 W
128gb SSD drive
1Tb HDD drive

View: https://imgur.com/BEApVDd


View: https://imgur.com/EwaU1AE


View: https://imgur.com/5DLc8Op
 
Last edited:
Solution
Yeah you have one core reaching 100% all the time because the game runs mostly on a single thread.
Try to lower the framelimit so that this one thread stops being pummeled and see if it get's any better.
If you made a custom pagefile on the HDD to try to save space on the SSD, don't. Pagefile accesses on a HDD will cause stutter. The more RAM you use, the more often the pagefile will be accessed. Which kinda fits your description of your experience with BF1. Put the pagefile only on the SSD.
 
Mar 16, 2019
5
0
10
If you made a custom pagefile on the HDD to try to save space on the SSD, don't. Pagefile accesses on a HDD will cause stutter. The more RAM you use, the more often the pagefile will be accessed. Which kinda fits your description of your experience with BF1. Put the pagefile only on the SSD.
Nope, I've set pagefile on SSD. I know I'm kinda newbie but knowing that SSD is much faster than HDD is basic knowledge :giggle:.
 
Mar 16, 2019
5
0
10
Yeah you have one core reaching 100% all the time because the game runs mostly on a single thread.
Try to lower the framelimit so that this one thread stops being pummeled and see if it get's any better.
So I've tried limiting fps to 50 instead of 73 and despite that this really hurt my eyes it helped a bit. By this I mean that it got rid of those small spikes, but I still can feel those bigger ones.
I've been using LatencyMon since yesterday and I've seen some really weird results. For example my ,,highest reported dpc routine execution time" was like 100000um. I think this also causes my computer to micro-freeze (audio too) sometimes (happened to me while playing).
Here's report from LatencyMon from War Thunder:
_
CONCLUSION
_
Your system appears to be suitable for handling real-time audio and other tasks without dropouts.
LatencyMon has been analyzing your system for 0:06:23 (h🇲🇲ss) on all processors.


_
SYSTEM INFORMATION
_
Computer name: DESKTOP-50OPJF5
OS version: Windows 10 , 10.0, build: 17763 (x64)
Hardware: MS-7A34, Micro-Star International Co., Ltd., Micro-Star International Co., Ltd, B350 PC MATE (MS-7A34)
CPU: AuthenticAMD AMD Ryzen 5 1600 Six-Core Processor
Logical processors: 12
Processor groups: 1
RAM: 8141 MB total


_
CPU SPEED
_
Reported CPU speed: 320 MHz

Note: reported execution times may be calculated based on a fixed reported CPU speed. Disable variable speed settings like Intel Speed Step and AMD Cool N Quiet in the BIOS setup for more accurate results.

WARNING: the CPU speed that was measured is only a fraction of the CPU speed reported. Your CPUs may be throttled back due to variable speed settings and thermal issues. It is suggested that you run a utility which reports your actual CPU frequency and temperature.



_
MEASURED INTERRUPT TO USER PROCESS LATENCIES
_
The interrupt to process latency reflects the measured interval that a usermode process needed to respond to a hardware request from the moment the interrupt service routine started execution. This includes the scheduling and execution of a DPC routine, the signaling of an event and the waking up of a usermode thread from an idle wait state in response to that event.

Highest measured interrupt to process latency (µs): 339,50
Average measured interrupt to process latency (µs): 5,088414

Highest measured interrupt to DPC latency (µs): 336,40
Average measured interrupt to DPC latency (µs): 2,041144


_
REPORTED ISRs
_
Interrupt service routines are routines installed by the OS and device drivers that execute in response to a hardware interrupt signal.

Highest ISR routine execution time (µs): 244,360
Driver with highest ISR routine execution time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation

Highest reported total ISR routine time (%): 0,117297
Driver with highest ISR total time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation

Total time spent in ISRs (%) 0,124548

ISR count (execution time <250 µs): 417968
ISR count (execution time 250-500 µs): 0
ISR count (execution time 500-999 µs): 0
ISR count (execution time 1000-1999 µs): 0
ISR count (execution time 2000-3999 µs): 0
ISR count (execution time >=4000 µs): 0


_
REPORTED DPCs
_
DPC routines are part of the interrupt servicing dispatch mechanism and disable the possibility for a process to utilize the CPU while it is interrupted until the DPC has finished execution.

Highest DPC routine execution time (µs): 634,710
Driver with highest DPC routine execution time: nvlddmkm.sys - NVIDIA Windows Kernel Mode Driver, Version 419.35 , NVIDIA Corporation

Highest reported total DPC routine time (%): 0,057165
Driver with highest DPC total execution time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation

Total time spent in DPCs (%) 0,167098

DPC count (execution time <250 µs): 1243434
DPC count (execution time 250-500 µs): 0
DPC count (execution time 500-999 µs): 5
DPC count (execution time 1000-1999 µs): 0
DPC count (execution time 2000-3999 µs): 0
DPC count (execution time >=4000 µs): 0


_
REPORTED HARD PAGEFAULTS
_
Hard pagefaults are events that get triggered by making use of virtual memory that is not resident in RAM but backed by a memory mapped file on disk. The process of resolving the hard pagefault requires reading in the memory from disk while the process is interrupted and blocked from execution.

NOTE: some processes were hit by hard pagefaults. If these were programs producing audio, they are likely to interrupt the audio stream resulting in dropouts, clicks and pops. Check the Processes tab to see which programs were hit.

Process with highest pagefault count: aces.exe

Total number of hard pagefaults 56
Hard pagefault count of hardest hit process: 23
Number of processes hit: 8


_
PER CPU DATA
_
CPU 0 Interrupt cycle time (s): 19,755409
CPU 0 ISR highest execution time (µs): 244,360
CPU 0 ISR total execution time (s): 5,608441
CPU 0 ISR count: 351784
CPU 0 DPC highest execution time (µs): 634,710
CPU 0 DPC total execution time (s): 7,037160
CPU 0 DPC count: 1175692
_
CPU 1 Interrupt cycle time (s): 4,436357
CPU 1 ISR highest execution time (µs): 129,550
CPU 1 ISR total execution time (s): 0,091045
CPU 1 ISR count: 26123
CPU 1 DPC highest execution time (µs): 272,010
CPU 1 DPC total execution time (s): 0,491274
CPU 1 DPC count: 36980
_
CPU 2 Interrupt cycle time (s): 2,045691
CPU 2 ISR highest execution time (µs): 7,630
CPU 2 ISR total execution time (s): 0,000257
CPU 2 ISR count: 108
CPU 2 DPC highest execution time (µs): 47,520
CPU 2 DPC total execution time (s): 0,011832
CPU 2 DPC count: 1668
_
CPU 3 Interrupt cycle time (s): 2,036905
CPU 3 ISR highest execution time (µs): 12,20
CPU 3 ISR total execution time (s): 0,000161
CPU 3 ISR count: 28
CPU 3 DPC highest execution time (µs): 80,220
CPU 3 DPC total execution time (s): 0,003946
CPU 3 DPC count: 674
_
CPU 4 Interrupt cycle time (s): 2,087352
CPU 4 ISR highest execution time (µs): 0,0
CPU 4 ISR total execution time (s): 0,0
CPU 4 ISR count: 0
CPU 4 DPC highest execution time (µs): 41,850
CPU 4 DPC total execution time (s): 0,014095
CPU 4 DPC count: 2637
_
CPU 5 Interrupt cycle time (s): 2,049237
CPU 5 ISR highest execution time (µs): 0,0
CPU 5 ISR total execution time (s): 0,0
CPU 5 ISR count: 0
CPU 5 DPC highest execution time (µs): 34,490
CPU 5 DPC total execution time (s): 0,002179
CPU 5 DPC count: 388
_
CPU 6 Interrupt cycle time (s): 3,874274
CPU 6 ISR highest execution time (µs): 0,0
CPU 6 ISR total execution time (s): 0,0
CPU 6 ISR count: 0
CPU 6 DPC highest execution time (µs): 130,780
CPU 6 DPC total execution time (s): 0,038358
CPU 6 DPC count: 9544
_
CPU 7 Interrupt cycle time (s): 4,081025
CPU 7 ISR highest execution time (µs): 0,0
CPU 7 ISR total execution time (s): 0,0
CPU 7 ISR count: 0
CPU 7 DPC highest execution time (µs): 205,150
CPU 7 DPC total execution time (s): 0,029266
CPU 7 DPC count: 4485
_
CPU 8 Interrupt cycle time (s): 3,585156
CPU 8 ISR highest execution time (µs): 14,520
CPU 8 ISR total execution time (s): 0,018894
CPU 8 ISR count: 30202
CPU 8 DPC highest execution time (µs): 170,030
CPU 8 DPC total execution time (s): 0,029454
CPU 8 DPC count: 6749
_
CPU 9 Interrupt cycle time (s): 3,651885
CPU 9 ISR highest execution time (µs): 13,760
CPU 9 ISR total execution time (s): 0,000850
CPU 9 ISR count: 1266
CPU 9 DPC highest execution time (µs): 119,230
CPU 9 DPC total execution time (s): 0,001785
CPU 9 DPC count: 490
_
CPU 10 Interrupt cycle time (s): 4,264233
CPU 10 ISR highest execution time (µs): 4,520
CPU 10 ISR total execution time (s): 0,001759
CPU 10 ISR count: 2541
CPU 10 DPC highest execution time (µs): 128,50
CPU 10 DPC total execution time (s): 0,006069
CPU 10 DPC count: 912
_
CPU 11 Interrupt cycle time (s): 5,183961
CPU 11 ISR highest execution time (µs): 217,190
CPU 11 ISR total execution time (s): 0,005136
CPU 11 ISR count: 5916
CPU 11 DPC highest execution time (µs): 238,030
CPU 11 DPC total execution time (s): 0,017554
CPU 11 DPC count: 3220
_
 
Last edited: