High mouse DPI + Polling rate = Stuttering at high frame rates

Issue Type (Required):

Other

Issue Description (Required):

High DPI/Polling rate causes frame rate stuttering in matches and Mourningstar areas.

Test setup:

System Information

  Time of this report: 2/23/2024, 22:57:39
         Machine name: GUNGNIR
           Machine Id: {27BBB776-B541-49C2-A4C9-2CE024F566BF}
     Operating System: Windows 11 Pro 64-bit (10.0, Build 22000) (22000.co_release.210604-1628)
             Language: English (Regional Setting: English)
  System Manufacturer: ASUS
         System Model: System Product Name
                 BIOS: 1904 (type: UEFI)
            Processor: AMD Ryzen 7 7800X3D 8-Core Processor            (16 CPUs), ~4.2GHz
               Memory: 65536MB RAM
  Available OS Memory: 64730MB RAM
            Page File: 38440MB used, 35505MB available
          Windows Dir: C:\Windows
      DirectX Version: DirectX 12
  DX Setup Parameters: Not found
     User DPI Setting: 144 DPI (150 percent)
   System DPI Setting: 144 DPI (150 percent)
      DWM DPI Scaling: Disabled
             Miracast: Available, no HDCP

Microsoft Graphics Hybrid: Not Supported
DirectX Database Version: 1.2.2
DxDiag Version: 10.00.22000.0653 64bit Unicode

       Card name: NVIDIA GeForce RTX 3090
    Manufacturer: NVIDIA
       Chip type: NVIDIA GeForce RTX 3090
        DAC type: Integrated RAMDAC
     Device Type: Full Device (POST)
      Device Key: Enum\PCI\VEN_10DE&DEV_2204&SUBSYS_87B31043&REV_A1
   Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER] 

Device Problem Code: No Problem
Driver Problem Code: Unknown
Display Memory: 56691 MB
Dedicated Memory: 24326 MB
Shared Memory: 32365 MB
Current Mode: 1280 x 800 (32 bit) (64Hz)
HDR Support: Not Supported
Display Topology: Extend
Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
Color Primaries: Red(0.639648,0.330078), Green(0.299805,0.599609), Blue(0.149414,0.059570), White Point(0.312500,0.329102)
Display Luminance: Min Luminance = 0.500000, Max Luminance = 270.000000, MaxFullFrameLuminance = 270.000000
Monitor Name: Generic PnP Monitor
Monitor Model: MPI107
Monitor Id: MPI1001
Native Mode: 1280 x 800(p) (63.593Hz)
Output Type: HDMI
Monitor Capabilities: HDR Not Supported
Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP
Advanced Color: Not Supported
Driver Name: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_830091b3ebd4b98a\nvldumdx.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_830091b3ebd4b98a\nvldumdx.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_830091b3ebd4b98a\nvldumdx.dll,C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_830091b3ebd4b98a\nvldumdx.dll
Driver File Version: 31.00.0015.5161 (English)
Driver Version: 31.0.15.5161
DDI Version: 12
Feature Levels: 12_2,12_1,12_0,11_1,11_0,10_1,10_0,9_3,9_2,9_1
Driver Model: WDDM 3.0
Hardware Scheduling: DriverSupportState:Stable Enabled:True
Graphics Preemption: Pixel
Compute Preemption: Dispatch
Miracast: Not Supported by Graphics driver
Detachable GPU: No
Hybrid Graphics GPU: Discrete
Power P-states: Not Supported
Virtualization: Paravirtualization
Block List: No Blocks
Catalog Attributes: Universal:False Declarative:True
Driver Attributes: Final Retail
Driver Date/Size: 2/14/2024 6:00:00 PM, 785168 bytes

Steps to Reproduce (Required):

  1. Set DPI to 1600, and polling rate to 1000 hz
  2. Enter game
  3. Go into high shock damnation or auric level missions with lots of spawns
  4. Wildly move mouse around, typically happens when doing a 180 quickly with a mouse to attack behind you.
  5. Notice frame rate dips
  6. Exit game, restart system.
  7. Set DPI to 1600, and polling rate to 250, or set DPI to 200, and polling rate to 1000.
  8. Enter game and repeat steps 4/5.

[PC] Do You Use Mods? (Optional):

Yes, and I’ve tried disabling them

Reproduction Rate (Required):

Constant (100%)

Platform (Required):

PC - Steam

Player ID (Optional):

5331851583

[PC] Upload Console Log & darktide_launcher.log (Optional):

console-2024-02-22-03.47.07-a2955a22-a28f-4ae7-8898-bc8a54e8ef69.log (1.04 MB)
darktide_launcher.log (931 KB)

can i ask what mouse you are using?

3 Likes

Multiple mice. Right now a razer naga v2 hyperspeed.
This issue occurs regardless of mouse type. I have used a litany of mice attempting to find one that works well for me over the course of the last few years. Here is a list of them (all of them have had the same issue.)

Razer mouse naga v2 hyperspeed
RAZER NAGA V2 PRO
Aerox 9 Wireless
SCIMITAR ELITE WIRELESS MMO Gaming Mouse (this mouse can only be set below 1000hz polling when in wired mode due to some limitation or issue with corsairs implementation. I ran it in wired mode.)
DARKSTAR WIRELESS RGB MMO Gaming Mouse (Same issues as the scimitar above.)

This had been happening to me since the game launched. The beta release worked perfectly, after launch it was hell up until 11 months ago when I figured it out finally. At launch I was on windows 10, with 64gb of ddr4 3200 memory, 5950x, asus 3090 tuf. Since then I’ve moved to a 7800x3d w/64gb of ddr5 6000 memory, same gfx card, now on windows 11 r23.

I reinstalled windows multiple times on both 10 and 11 attempting and the issue persisted. Between mice I would uninstall the previous software set and move to the new set. I even used usbdeview to remove and uninstall unused usb devices and drivers. I’ve separated my keyboard mouse and other devices between different usb header chains. Removed all unused or redundant usb devices. ETC…

Dropping down to 500hz from 1000 was the only thing that got rid of the stutter.

Frame rate drops/hitches when new enemies or just the general chaos got to large in game can still cause problems but other tinkerings and fixes have resolved most of those.

I’ve implemented these two sets of changes on my system and its really made a massive difference in the level performance I get out of my hardware. Smoothing out loading hitches when things get crazy and stopping or blunting he impact of normal framerate dips I usually get.

Also the implementation of direct storage that was added to the game makes things so much snappier. I had a match were I loaded in with just bots as no one quick played into the match due to the time of day. It was literally instant. I have a dual pcie-4 raid 0 setup of two sabrent rocket nvme drives that can hit 14gbs read speeds.

I’ve also enabled the “–lua-heap-mb-size 2048” change to help with the out of memory errors.

I know this is a ton of info and probably not all of it is relevant, hopefully it helps. I can track down any more specific info you need. Just let me know! And thanks for responding!

I will read through the whole text soon, but in the meanwhile.

I can reproduce the polling rate issue. It was simple so not sure why I got the report that we couldn’t repro it.

I didn’t do the initial tests so know I aquired the HW needed.

2 Likes

can you pinpoint what you did that they mention in these posts?

1 Like

In win32 settings:

renderer = {
adapter_index = 0
aspect_ratio = -1
d3d_debug = false
d3d_gpu_validation = false
dlss_logging = 0
dred_pagefault = true
fullscreen = true
fullscreen_output = 0
gpu_crash_dumps = false
ray_tracing = true
screen_resolution = [ 1920 1080]
}

In settings common:

mesh_streamer_settings = {
disable = false
eviction_timeout = 5
frame_time_budget = 1
io_buffer_budget = 10240
limit = 768

streaming_buffer_size = 128
streaming_max_open_streams = 64
streaming_texture_pool_size = 512
surface_properties = “application_settings/global”
texture_streamer_settings = {
streaming_buffer_size = 128
streaming_texture_pool_size = 1024

feedback_streamer_settings = {
feedback_buffer_size = 2
max_age_out_tiles_per_frame = 64
max_streaming_tiles_per_frame = 64
max_texture_pool_size = 1024
max_write_feedback_threshold = 0.009
min_write_feedback_threshold = 0.005
staging_buffer_size = 1
threaded_streamer = true
tile_age_out_time_ms = 5000
tile_staging_buffer_size = 1

Thanks for your reply and work on this.