Joystick connected = FPS falls off a cliff


(Mustang) #1

So the high level summary is I get 180fps (max allowed/recommended due to client/server timing things) with no joysticks connected, plug a couple of joysticks in and after 3 mintues it drops to 30fps, with massive lag, stuttering, tearing, etc.


The above are actual gameplay reading, the same issue can be observed by just loading the game and sitting in the menu for 3 minutes, however here it drops to around 50fps. I messed around and tested different stuff for around 3 hours and these are my findings:

Firstly with joysticks connected the log file starts to get spammed with warnings about virtual keys not being found, or being unmapable, or something along those lines.

I was able to disable these log messages with the following config changes:


[Engine.UIInteraction]
- ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_LeftX,AdjacentAxisInputKey=XboxTypeS_LeftY,bEmulateButtonPress=True,InputKeyToEmulate[0]=Gamepad_LeftStick_Right,InputKeyToEmulate[1]=Gamepad_LeftStick_Left)
+ ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_LeftX,AdjacentAxisInputKey=XboxTypeS_LeftY,bEmulateButtonPress=False)
- ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_LeftY,AdjacentAxisInputKey=XboxTypeS_LeftX,bEmulateButtonPress=True,InputKeyToEmulate[0]=Gamepad_LeftStick_Up,InputKeyToEmulate[1]=Gamepad_LeftStick_Down)
+ ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_LeftY,AdjacentAxisInputKey=XboxTypeS_LeftX,bEmulateButtonPress=False)
- ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_RightX,AdjacentAxisInputKey=XboxTypeS_RightY,bEmulateButtonPress=True,InputKeyToEmulate[0]=Gamepad_RightStick_Right,InputKeyToEmulate[1]=Gamepad_RightStick_Left)
+ ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_RightX,AdjacentAxisInputKey=XboxTypeS_RightY,bEmulateButtonPress=False)
- ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_RightY,AdjacentAxisInputKey=XboxTypeS_RightX,bEmulateButtonPress=True,InputKeyToEmulate[0]=Gamepad_RightStick_Down,InputKeyToEmulate[1]=Gamepad_RightStick_Up)
+ ConfiguredAxisEmulationDefinitions=(AxisInputKey=XboxTypeS_RightY,AdjacentAxisInputKey=XboxTypeS_RightX,bEmulateButtonPress=False)

Secondly even with the log spam gone fps was still dropping, albeit not as low, so I changed a second config entry, which I presume disabled the joystick polling service or something:

[WinDrv.WindowsClient]
- AllowJoystickInput=1
+ AllowJoystickInput=0

These are my results of menu fps after waiting a few minutes, take them with a slight pinch of salt as I’m just recalling them from memory after 3 hours of investigation, but they’re in the right ballpark.

Without joysticks = 180fps
With joysticks = 50fps
With joysticks + AxisEmulation = 90fps
With joysticks + AxisEmulation + AllowJoystickInput = 180fps

Therefore it seems the two options are to unplug the joysticks, or to make these two config tweaks.

The problem with unplugging the joysticks is that there is a “bug” in Windows where it doesn’t re-assign the same id’s when plugging them back in, this means remapping c. 64 binds in every game that uses them after every unplugging/re-plugging. Also it’s a pain in the neck having the physically unplug/re-plug when a software solution shouldn’t be too far out of reach.

The problem with doing this at the config level is everytime there is a game update it resets, also it’s a pretty big wtf for most players as it only happens after after a few minutes. Honestly it took me a while (45 minutes) to identify the cause, first I thought it was a dodge anticheat feature, then I thought my graphics card was dying, finally I remembered that I’d bought some joysticks recently and figured it was the only thing that had changed since I last played.

So would it be possible to have these two config changes made to the base/default configs on your guys side please?


(DNineD) #2

Is your “joystick” analogue or is it the more modern serial usb 2.2 type?

There was a thread in http://forums.dirtybomb.nexon.net/discussion/32405/fps-drops that had symptoms similar to this one, We tried unplugging redundant pointing devices and made sure their polling rates are all the same (it used to be 1000Hz for the mouse and 500Hz for the keyboard) but the framerate still drops after about 20 minutes of gameplay.

Some players report that the DPC stacking is caused by Win10’s USB device driver and removing them made a difference. I just don’t know how I’ll play DB without mouse and keyboard; even the monitor we use (AOC G2460) uses the USB for serial data.


(DNineD) #3

why is my post not on this thread yet?