3 years ago
Fix the mouse input
I just went to play BFV for the first time in monts and the difference is night and day Is it really impossible to port the code use for BFV? I have never seen a AAA title where the mouse input is ...
@megazz wrote:Tomorrow's patch include some fixes to the mouse input:
BUT, before you get too excited:
I guess they're at least being transparent about it, and hopefully working on fixing it once and for all soon.
Well at least that's something
My son and I are looking forward to the patch tomorrow. My son is level S12? or something like that and reports his mouse just quits working at times like mine does. Very irritating.
I pray this patch works.
@DuaneDibbley wrote:
@sk1lld
This is very unlikely.
There was another tweet stating the guesstimated reduction in mouse input lag is around 4ms. That is less than it takes to render one frame (unless you are getting >250fps).
Don't expect anything I'd say. If at all, it will 'feel' better, even if it does nothing (just like homeopathy, well OK; 4ms is at least something).
Thanks for sharing @DuaneDibbley. It sounds like DICE changed the polling rate from 125Hz to 250Hz for the game's input loop. Which is exactly 4ms less input lag.
A welcome change. My Razer Viper 8k mouse is set to 4,000Hz polling. I love this mouse! It's killing the Logitech G Pro mouse I had.
Here's a graph I made using MouseTester, showing the difference in polling stability between Logitech G Pro vs Razer Viper 8k at 1,000Hz. The blue dots are how consistent the mouse replies to a 1,000Hz polling rate and the green line is optical sensor tracking. Blue dots grouped tightly around the green line means a consistent polling rate of 1,000,Hz. Which means low polling jitter
@OskooI_007 wrote:
@DuaneDibbley wrote:
@sk1lld
This is very unlikely.
There was another tweet stating the guesstimated reduction in mouse input lag is around 4ms. That is less than it takes to render one frame (unless you are getting >250fps).
Don't expect anything I'd say. If at all, it will 'feel' better, even if it does nothing (just like homeopathy, well OK; 4ms is at least something).Thanks for sharing @DuaneDibbley. It sounds like DICE changed the polling rate from 125Hz to 250Hz for the game's input loop. Which is exactly 4ms less input lag.
A welcome change. My Razer Viper 8k mouse is set to 4,000Hz polling. I love this mouse! It's killing the Logitech G Pro mouse I had.
Here's a graph I made using MouseTester, showing the difference in polling stability between Logitech G Pro vs Razer Viper 8k at 1,000Hz. The blue dots are how consistent the mouse replies to a 1,000Hz polling rate and the green line is optical sensor tracking. Blue dots grouped tightly around the green line means a consistent polling rate of 1,000,Hz. Which means low polling jitter
How does this relate to the 45Hz tick rate? My assumption is with that equating to 22.2ms and the polling rate increased from 250 (8ms) to 500Hz (4ms), shouldn't we expect our mouse input to "report" 5-6 times per tick (server update) vs 2-3?
8/22.2 = 2.775
4/22.2 = 5.55
Since you can't technically have "half" updates, you will either get 2 or 3 with 250Hz and 5 or 6 with 500Hz. If that is the case though, it is definitely a step in the right direction.
Do you know the polling rate for BF1 or BFV?
@OskooI_007 what do you believe is the best DPI and Polling Rate setup with a perceived 500Hz Game Polling Rate? My thought is to match it (bring mine down from 1K)?
How's the new patch feeling?
/Atic
@OskooI_007:
I also used the tool you linked with my mouse (once for 800 and once for 1600 dpi setting, 1000Hz polling rate each):
At least for my mouse (Sensor: Pixart 3360) I'd say I can rule out that it's the mouse that is at fault here.
The response time is much better than before, but flick and micro flicks adjustments still don't feel right.
I always have overaim in the game when I react fast, in other games it's not like that. It's like pixel skipping or acceleration on, but it only happens when you move the mouse faster, so many don't notice it because of slow aiming (no it's not my mouse, I have 10 different mice here all doing the same in BF2042) and when the render latency drops it's even worse. Dice needs to test this on full servers not on a scenario that does not load the system.
My system
R7 5800X with CO boosting in 4.80-4.85 Ghz
32GB 4X SR CL 14 + Subtimings 3600mhz
RTX 3070
avgs fps 160-180
@Adamonic The best polling rate for your mouse is the highest it'll go, while still polling consistently. Some 1,000Hz mice poll more consistent at 500Hz. The only way to know is test it with MouseTester.
That being said, Battlefield's controller input loop goes out of sync with USB's polling interval of 125Hz which causes the game engine to drop/skip mouse polls. In Battlefield 1 if you set the game's framerate to 125fps and set the mouse to 125Hz you'll get game breaking mouse stutter after playing for a few minutes.
This is due to the game's input loop for controller not being in-sync with the mouse's 125Hz polling rate causing the game engine to drop mouse polls, which in turn causes the severe game breaking mouse stutter you see at 125fps. This mouse stutter is happening at all framerates, and all mouse polling rates. It's just easier to see the mouse stutter at 125fps with mouse polling at 125Hz.
In order to minimize mouse stutter caused by the game's input loop randomly dropping mouse polls, set the mouse to the highest polling rate possible. The game dropping and skipping mouse polls will be less noticable at a high mouse polling rate. It'll still be there, but the stutter effects less noticable.
Let me explain the difference between DPI and polling rate. A high DPI helps make slow precise mouse movement like minor aim corrections look more smooth. While a high polling rates help fast mouse movement like 180° spins look more smooth. So one helps smooth slow mouse movement and the other helps smooth fast mouse movement.
With that said, setting the DPI too high will cause jitter which looks like the mouse pointer on screen is vibrating back and forth really fast. This is caused by the mouse sensor not being able to tell if the mouse is moving or stationary. Generally speaking most mice can handle up to 4,000dpi on a cloth mouse pad before jitter becomes a problem. You can test for jitter by moving the mouse cursor around on Windows desktop and then letting go of the mouse and see if the mouse pointer jitters back and forth when the mouse is stationary.
I set the in-game mouse sensitivity to 0 and set my mouse DPI to ~2,000dpi. Then I adjust my mouse sensitivity up or down by adding more or less DPI in the Logitech or Razer mouse app.
Also set raw mouse input to 'on' in-game and leave Windows OS mouse sensitivity slider in the middle with mouse acceleration turned off.
I don't feel like I have issues aiming with my mouse. Sometimes my crosshair feels off from where it should be when I flick, it was far worse in the Beta.
The problem that I'm having is that inputs seemed to get ignored constantly. I now spam keys over and over to make sure they actually get recognized. I don't know how many times I've shot the ground trying to throw an ammo box out. There's just a lot of hidden cool-downs built into the game I've noticed. When you slide, you get slowed down so much at the end of it, and it feels very awkward.
I don't think it's the server tick rate, but some personal delay on all your actions. There's also a weird stuttering when firing full auto weapons, like It's tied to something that it shouldn't be. When playing Overwatch, which had servers that were only 20hz I believe, actions on your own screen/perspective never felt off or delayed. You might die slightly behind cover, but that pretty much happens in all games.
I still think they may have given up too much to get these big player counts. The problem is I really do enjoy it now though lol.
I never experienced input lag that bad until today while playing CQ128 on Stranded.
The whole game felt like the players have been desynced from the server, some players were literally teleporting and that's with an average ALAT of 28ms.
I got a beefy rig so it wasn't on my side.
Too bad that I didn't record the game from the start - take a look at the 1:54 timestamp from the above video:
Sounds like a server desync problem other than a mouse input. They can feel similar.
I figured out how to make mouse aim feel steady and smooth in Battlefield 1. I recommend using a mouse that has around 20,000dpi and can poll steady at 1,000Hz or more.
*Disclaimer* I'm not saying people's mice are the problem. I'm saying the game's controller input loop is the problem and here's how to brute force past it.
First a quick summery of what I'm doing. I'm running the mouse at an extremely high dpi in order to increase the optical sensor's polling rate for small mouse movements. If you've ever used a polling rate checker like MouseMovementRecorder.exe which is included in MarkC Windows 10 + 8.1 + 8 + 7 Mouse Acceleration Fix. You'll notice the optical sensor's polling rate is very low for slow mouse movements at low DPI values. Increasing DPI also increases the polling rate for slow mouse movements.
In other words, increasing the DPI also increase the polling rate so we can brute force past Battlefield's broken controller input loop.
Here are my settings.
Make sure to turn down Windows OS mouse sensitivity to notch 2. This is why I recommend a 20,000dpi mouse. Otherwise the mouse pointer will move really slow.
That's pretty much it. Set your in-game mouse sensitivity to 0 (always zero for infantry) and make sure to turn off raw mouse input. Raw mouse input doesn't work with such high dpi settings. We need Windows OS to reduce the sensitivity. I also discovered reducing Windows OS mouse sensitivity eliminates mouse jitter at 20,000dpi which I found surprising.
It's also important to test your mouse with MouseTester to make sure your mouse polls smoothly. For example, I have a Razer Viper 8K mouse that can poll up to 8,000Hz but it only polls steady at 2,000Hz and lower.
Razer Viper 8K - 8,000Hz
Razer Viper 8K - 4,000Hz
Razer Viper 8K - 2,000Hz
As you can see, my 8,000Hz mouse can really only poll steady at 2,000Hz. The blue dots have to be right on top of the green line, otherwise the mouse isn't polling steady which causes mouse stutter.
@OskooI_007 I don't think you've played BF 2042 long enough to know what's wrong. Since I can't find you in BF 2042 stats, I assume you've never played it.
It's not just about reaction time but that the mouse doesn't do what it's supposed to do at certain speeds 1 to 1.
And your placebo fixes won't help anyone, just forcing higher DPI more polling rate even though you have a motion sync mouse is a total waste of time in my eyes.
And even if it brings you less ms you are still bound to the game engine if it has 20ms latency and you double your mouse speed from 1000hz to 2000hz you still only save 0.5ms and are still at 19.5ms so it just doesn't work.
@Ne0tax wrote:@OskooI_007I don't think you've played BF 2042 long enough to know what's wrong. Since I can't find you in BF 2042 stats, I assume you've never played it.
It's not just about reaction time but that the mouse doesn't do what it's supposed to do at certain speeds 1 to 1.
And your placebo fixes won't help anyone, just forcing higher DPI more polling rate even though you have a motion sync mouse is a total waste of time in my eyes.
And even if it brings you less ms you are still bound to the game engine if it has 20ms latency and you double your mouse speed from 1000hz to 2000hz you still only save 0.5ms and are still at 19.5ms so it just doesn't work.
What happen with the input now?
I always thought Raw mouse input was jacked up? If I turn it off, I lose X/Y movement. Explain this to my like I am 5, how do I enable X/Y movement on mouse with Raw input "off"?
@Ne0tax wrote:@OskooI_007I don't think you've played BF 2042 long enough to know what's wrong. Since I can't find you in BF 2042 stats, I assume you've never played it.
It's not just about reaction time but that the mouse doesn't do what it's supposed to do at certain speeds 1 to 1.
And your placebo fixes won't help anyone, just forcing higher DPI more polling rate even though you have a motion sync mouse is a total waste of time in my eyes.
And even if it brings you less ms you are still bound to the game engine if it has 20ms latency and you double your mouse speed from 1000hz to 2000hz you still only save 0.5ms and are still at 19.5ms so it just doesn't work.
I rented 2042 on EA Play for a month when it first came out, but haven't played it since. The issue I'm experiencing with Battlefield's mouse input loop is it drops/skips mouse polls which is really noticable at lower Hz.
At a low dpi setting the mouse will only poll at ~50Hz for slow mouse movements. At 20,000dpi the mouse is polling 1,000+ Hz without even moving it.
Dropping 1 out of 50 mouse polls is a lot more noticable than 1 out of 1,000. The higher polling also prevents issues where tiny micro aim adjustments fail to register even though you're moving the mouse.
What issues are you experiencing with the mouse in Battlefield?
@Adamonic wrote:I always thought Raw mouse input was jacked up? If I turn it off, I lose X/Y movement. Explain this to my like I am 5, how do I enable X/Y movement on mouse with Raw input "off"?
Maybe there's an overlay like discord that's hijacking the mouse cursor when raw input is turned off? I'm not sure what's going on. My mouse works with raw input turned off.
@Adamonic wrote:
@ATFGunrYes in game. What is the line in the prefs file that needs to be edited?
'GstInput.MouseRawInput 1' in PROFSAVE_profile
Sorry @Adamonic, I didn't know this setting is bugged and not working in 2042.
*Edit* DICE has fixed this bug and raw input can be turned off without breaking the mouse now.