Page MenuHomeFeedback Tracker

Periodic microstuttering observed with empty maps
Closed, ResolvedPublic

Description

I have observed periodic (~3s) microstuttering with frame times larger than 16ms even on completely empty maps with a static view. With my system and frame rates, this is imperceptible, however i do not know if this contributes to larger stutters, especially if multiple sources of stutters stack. I have tested only on Altis, Sefrou-Ramal, and VR. The effect is similar between Altis and Sefrou-Ramal, but less pronounced in VR due to higher baseline FPS, (but it is visible).

The sources of stuttering appear to be:

  1. Main thread -> dlcSim -> dlcUpd: responsible for frame time spikes above 16ms
  2. Main thread -> wSimu -> waitBG -> 3dSwp: responsible for frame time spikes above 20ms but not exceeding 22ms.

Sometimes they overlap in period, but usually it is separate.

Evidence of frame time dips:
(see 99th percentile graph overlay on the top left)



Frame capture results:
Over 16ms


Over 20ms


Other frame capture output logs:

Details

Severity
Minor
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Operating System Version
10.0.19045.4291
Category
General
Steps To Reproduce
  1. Probably use a Ryzen X3D system to see this behaviour clearly
  2. Run a scenario with an empty map with no units, i tested with Altis, Sefrou-Ramal and VR, so should probably be visible with the other vanilla maps too.
  3. Observe frame time fluctuations with the tool of your choice (i used Intel PresentMon)
  4. Use diag_captureSlowFrame and diag_captureFrame to see what is causing the periodic slowdowns according to the relevant thresholds
  5. Use vTune or other more powerful tool to isolate the issue (this is beyond my abilities)
Additional Information

Tested using latest performance and profiling binaries.

DxDiag:

That says something about error code 31 in display tab 2, it's related to the MS basic display adapter. Nothing crashes or goes wrong otherwise so not sure what this is about.

Event Timeline

dedmen added a subscriber: dedmen.Apr 24 2024, 11:06 AM

I can actually measure the one function that runs there. And I can see the difference but it's so extremely small.

In VR a normal frame renders at 5ms. This dlcUpd one adds about 8ms every 5 seconds. Barely noticable.

dedmen closed this task as Resolved.Apr 25 2024, 11:43 AM
dedmen claimed this task.

next prof/dev