Jump to content
Lign

Mouse Acceleration/Dampening Fix

Recommended Posts

Posted (edited)

The copy of the old guide from old forums by Arvie

 

Okay so as some ppl apparently feel it too, I decided to write a guide for this.
Credit for the Original UnrealTournament 3 fix goes to Aco24 from the ProUnreal forums. Sadly that forum has now dissappeared.


With these settings your mouse movement will not slow down anymore when you get low FPS. You can even run vivoxvoiceserviceprogram while playing APB and your mouse will still feel the same.

 

Ok this is what you do:

 

Find the folder: APBR\Engine\Config\
In there you open the BaseInput.ini file.

 

Find these lines and replace them:

 

[Engine.PlayerInput]
LookRightScale=0.000000
LookUpScale=0.000000
bEnableMouseSmoothing=False

 

Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX Speed=2.0")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY Speed=2.0")

 

Bindings=(Name="LookUp",Command="Axis aLookUp Speed=+25.0 AbsoluteAxis=0")
Bindings=(Name="LookDown",Command="Axis aLookUp Speed=-25.0 AbsoluteAxis=0")

 

Bindings=(Name="GBA_TurnLeft",Command="Axis aBaseX Speed=-40.0 AbsoluteAxis=0")
Bindings=(Name="GBA_TurnRight",Command="Axis aBaseX Speed=+40.0 AbsoluteAxis=0") 

 

The GBA lines do not exist, just add them manually.
Also, while youre editing, it says Speed=2.0, divide your sensitivity, but not marksmanshipmode sensitivity by 2 to get the original sensitivity back,

or you'll do 720's instead of 360's.

 

Also in your userconfig.ini file of your character (APB Reloaded\APBGame\Config\Account\xxxnumberxxxx\Server Name\xxxxx) is now a bEnableMouseSmoothing command.
Change that one to false as well. Even tho it already should be set to false by default.

 

PS The files do not get replaced by the launcher unless you delete the clientfiles.xml, so make a back-up incase you're too used to the UE3 Dampening/Acceleration.

 

Yet another fix for Mouse Input Delay is this:


Go to your APB\APBGame\Config folder and open apbcompat.ini in there you'll have multiple "OneFrameThreadLag=True" lines, set them all to false, this will reduce the input delay a lot.
Sadly youre gonna have to do this everytime after you use the launcher, I always copy pasta my file into the folder after I launched it before I press Play.

 

Incase you still experience Mouse Acceleration after this fix, Windows might be the cause of that, some have that problem, some dont.
The fix for that can be found here
Thanks to kimiko(bakageta) and dreamss(mexican) for the heads up.

Edited by Lign
  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

Well I love this fix LO warned about editing any files while they implement BattleEye. Hoping they address the mouse fix though.

  • Like 1

Share this post


Link to post
Share on other sites

With the engine updates there will also be quality of life changes that will hopefully remove the need for config file edits.
While allowed for now, keep in mind that BattlEye might flag it - so tread carefully.

Share this post


Link to post
Share on other sites
17 hours ago, Dexem said:

Well I love this fix LO warned about editing any files while they implement BattleEye. Hoping they address the mouse fix though.

 

You can do this fix in the APBinput.ini and that file is edited all the time when you change your configs so I am not sure why BattlEye would flag someone for a file that is changed all the time. An ini edit is  different from shader edits. 

Share this post


Link to post
Share on other sites
1 hour ago, LaQuandra said:

 

You can do this fix in the APBinput.ini and that file is edited all the time when you change your configs so I am not sure why BattlEye would flag someone for a file that is changed all the time. An ini edit is  different from shader edits. 

 

In PUBG, for example, the devs set minimium and maximum parameters to each config variable, also adding something that is not permitted in the config files (which could be the case of "GBA_TurnLeft" and "GBA_TurnRight") could be flagged by BattlEye. G1 needs to allow us to modify the files properly without getting flagged until they can fix this and remove the need for config file changes.

  • Like 2

Share this post


Link to post
Share on other sites

All the edited files got modified to original after launching the client and also the clientfiles.xml was recreated.

 

Did I miss any important step or does this method not work anymore?

Share this post


Link to post
Share on other sites

Bypass the launcher for apb by running apb exe. If you press start on launcher it resets. Or use advanced launcher and youre good

  • Like 1

Share this post


Link to post
Share on other sites

Alright, this seems to have worked, thank you for the quick response!

Share this post


Link to post
Share on other sites

I've gone through the mouse fix and checked everything it does against the code. Here's the results:

LookRightScale=0.000000
LookUpScale=0.000000
Bindings=(Name="LookUp",Command="Axis aLookUp Speed=+25.0 AbsoluteAxis=0")
Bindings=(Name="LookDown",Command="Axis aLookUp Speed=-25.0 AbsoluteAxis=0")

Set the speed of the look up, down, left, right keys on the keyboard, and any controller attached to the system to zero (they will still be calculated, but won't do anything). This does not have any effect on mouse input.

bEnableMouseSmoothing=False

Changing the mouse smoothing value in options screen is the preferred way of changing this value.

Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX Speed=2.0")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY Speed=2.0")

Doubles all the values input by the mouse. Does the same thing as doubling your your mouse sensitivity using the in-game options. (Final value is mouse movement * speed * mouse sensitivity * FOV Scale)

Bindings=(Name="GBA_TurnLeft",Command="Axis aBaseX Speed=-40.0 AbsoluteAxis=0")
Bindings=(Name="GBA_TurnRight",Command="Axis aBaseX Speed=+40.0 AbsoluteAxis=0") 

These bindings are unused in the game, and adding them does not do anything.

OneFrameThreadLag=False

Disallow frame rendering to be later than the current frame. This might cause the game to end up being slower, but might make it feel more consistent. We can add an option for this.

  • Like 14
  • Thanks 3
  • Haha 1

Share this post


Link to post
Share on other sites
32 minutes ago, Androvald said:

I've gone through the mouse fix and checked everything it does against the code. Here's the results:


LookRightScale=0.000000
LookUpScale=0.000000
Bindings=(Name="LookUp",Command="Axis aLookUp Speed=+25.0 AbsoluteAxis=0")
Bindings=(Name="LookDown",Command="Axis aLookUp Speed=-25.0 AbsoluteAxis=0")

Set the speed of the look up, down, left, right keys on the keyboard, and any controller attached to the system to zero (they will still be calculated, but won't do anything). This does not have any effect on mouse input.


bEnableMouseSmoothing=False

Changing the mouse smoothing value in options screen is the preferred way of changing this value.


Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX Speed=2.0")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY Speed=2.0")

Doubles all the values input by the mouse. Does the same thing as doubling your your mouse sensitivity using the in-game options. (Final value is mouse movement * speed * mouse sensitivity * FOV Scale)


Bindings=(Name="GBA_TurnLeft",Command="Axis aBaseX Speed=-40.0 AbsoluteAxis=0")
Bindings=(Name="GBA_TurnRight",Command="Axis aBaseX Speed=+40.0 AbsoluteAxis=0") 

These bindings are unused in the game, and adding them does not do anything.


OneFrameThreadLag=False

Disallow frame rendering to be later than the current frame. This might cause the game to end up being slower, but might make it feel more consistent. We can add an option for this.

so pretty much editing these values does nothing

Share this post


Link to post
Share on other sites
22 minutes ago, Androvald said:

 


OneFrameThreadLag=False

Disallow frame rendering to be later than the current frame. This might cause the game to end up being slower, but might make it feel more consistent. We can add an option for this.

 

OneFrameThreadLag is the same as adding an extra pre-rendered frame (e.g. setting pre-rendered frames in the nvidia control panel to 2) is it not? So, this would add an extra frame of input delay (1/X (current_frame) + 1/X (next_frame) = overall_input_delay), the amount is minuscule but some users are very picky about having as low latency as possible to their mouse movement, adding it as an option would definitely be greatly appreciated by some users, but it would cause a slightly raised amount of CPU/GPU strain as there is no longer a rendering buffer.

 

Also, could we perhaps have the log files split more regularly or at the very least have logging toned down a bit? (512mb is very large for a log file) From what I've seen a lot of stutter is related to log files getting huge and threads having to wait for the huge log files to open and close every single time they want to log something, it can cause prolonged hitches. We used to be able to control this from the APBGame.ini file to an extent from what I'm aware (m_cfg_bEnablePlayerDataLogging, m_cfg_bEnableLCDataLogging_Ped, and m_cfg_bEnableLCDataLogging_Vehicle) but it seems we can no longer modify this file as of last update.

  • Like 1

Share this post


Link to post
Share on other sites

I always wondered why they made this so complicated.

Just change:

Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY")

to:

Bindings=(Name="MouseX",Command="Axis aMouseX")
Bindings=(Name="MouseY",Command="Axis aMouseY")

Removing the count removes the smoothing and makes it 1:1

 

I could be mistaken though it has been a few years since I looked into it lol.

  • Like 1

Share this post


Link to post
Share on other sites
28 minutes ago, USPStyle said:

I always wondered why they made this so complicated.

Just change:

Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY")

to:

Bindings=(Name="MouseX",Command="Axis aMouseX")
Bindings=(Name="MouseY",Command="Axis aMouseY")

Removing the count removes the smoothing and makes it 1:1

 

I could be mistaken though it has been a few years since I looked into it lol.

Hasn't it just been a placebo for a long time?

And people just use that because it "used to" make a difference?

Prob why it never got changed.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
On 5/28/2018 at 1:57 AM, BrightNightLight said:

With the engine updates there will also be quality of life changes that will hopefully remove the need for config file edits.
While allowed for now, keep in mind that BattlEye might flag it - so tread carefully.

 

 

546938-706150335-1050597.png

Edited by SilverCrow

Share this post


Link to post
Share on other sites
12 hours ago, Androvald said:

I've gone through the mouse fix and checked everything it does against the code. Here's the results...

Thanks for taking the time to go through it, Androvald! I think a lot of us would appreciate any additional in-game menu options you can add to reduce/remove the need to manually edit configuration files to tweak little things like that.

  • Like 1

Share this post


Link to post
Share on other sites
14 hours ago, Androvald said:

I've gone through the mouse fix and checked everything it does against the code. Here's the results:


LookRightScale=0.000000
LookUpScale=0.000000
Bindings=(Name="LookUp",Command="Axis aLookUp Speed=+25.0 AbsoluteAxis=0")
Bindings=(Name="LookDown",Command="Axis aLookUp Speed=-25.0 AbsoluteAxis=0")

Set the speed of the look up, down, left, right keys on the keyboard, and any controller attached to the system to zero (they will still be calculated, but won't do anything). This does not have any effect on mouse input.


bEnableMouseSmoothing=False

Changing the mouse smoothing value in options screen is the preferred way of changing this value.


Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX Speed=2.0")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY Speed=2.0")

Doubles all the values input by the mouse. Does the same thing as doubling your your mouse sensitivity using the in-game options. (Final value is mouse movement * speed * mouse sensitivity * FOV Scale)


Bindings=(Name="GBA_TurnLeft",Command="Axis aBaseX Speed=-40.0 AbsoluteAxis=0")
Bindings=(Name="GBA_TurnRight",Command="Axis aBaseX Speed=+40.0 AbsoluteAxis=0") 

These bindings are unused in the game, and adding them does not do anything.


OneFrameThreadLag=False

Disallow frame rendering to be later than the current frame. This might cause the game to end up being slower, but might make it feel more consistent. We can add an option for this.

Thank you for this.

 

I have always played with:

OneFrameThreadLag=True

I thought that disabling it made the game not smoother.

Could you elaborate on what this does if I enable or disable this?

Share this post


Link to post
Share on other sites
Posted (edited)
14 hours ago, Androvald said:

 


Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX Speed=2.0")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY Speed=2.0")

 Doubles all the values input by the mouse. Does the same thing as doubling your your mouse sensitivity using the in-game options. (Final value is mouse movement * speed * mouse sensitivity * FOV Scale)

If the final value is "mouse movement * speed * mouse sensitivity * FOV Scale" does that mean, that with this in the settings I have a 1:1 mouse sense by fov when zooming with a weapon?

When, with default settings, I go into the zoom of a weapon the mouse sense is definitly not scaled with the fov. It's taking the value multiplied by the marksmanship modifier. So it's not really possible to have a 1:1 mouse sense by fov, which I would prefer. Would this settings give me this?

 

Though if that's not possible I would really apreciate to see this settings in the game.

Edited by striker891

Share this post


Link to post
Share on other sites
17 hours ago, Androvald said:

I've gone through the mouse fix and checked everything it does against the code.

Thanks for going through the effort in doing this Androvald!

Share this post


Link to post
Share on other sites
Posted (edited)

is default bEnableMouseSmoothing is enabled in APB?

if yes than windows DPI 100-125-150% fix should help and that all what need to know from this post

P.S. always used DPI % fix ^^

Edited by Dahel

Share this post


Link to post
Share on other sites
12 hours ago, striker891 said:

If the final value is "mouse movement * speed * mouse sensitivity * FOV Scale" does that mean, that with this in the settings I have a 1:1 mouse sense by fov when zooming with a weapon?

When, with default settings, I go into the zoom of a weapon the mouse sense is definitly not scaled with the fov. It's taking the value multiplied by the marksmanship modifier. So it's not really possible to have a 1:1 mouse sense by fov, which I would prefer. Would this settings give me this?

 

Though if that's not possible I would really apreciate to see this settings in the game.

Well, the FOV scale is only used in marksmanship mode, at that point it's (Weapon FOV / 50) * Marksmanship Sensitivity. If you set it to 0.625 you will have the exact same sensitivity as walking and running (sprinting is slightly different), however scaled to the amount of zoom that the weapon offers.

 

We could add an option not to have the zoom affect the sensitivity, however I haven't seen this kind of option in any game, and will generally lead to a bad game-play experience. If you are using an HVR 762, for example, it would create behavior equivalent to setting the marksmanship sensitivity to 2.0536, which makes it very difficult to hit anyone. (We limit the value of marksmanship sensitivity to values between 0.1 and 1 at the moment).

 

Does this answer your question?

9 hours ago, Anudureju said:

is default bEnableMouseSmoothing is enabled in APB?

if yes than windows DPI 100-125-150% fix should help and that all what need to know from this post

P.S. always used DPI % fix ^^

Yes, however it can be disabled in the input options in the mouse subcategory.

13 hours ago, KyoukiDotExe said:

Thank you for this.

 

I have always played with:

 


OneFrameThreadLag=True

 

I thought that disabling it made the game not smoother.

Could you elaborate on what this does if I enable or disable this?

So, disabling this causes the game logic to wait for the game rendering to complete this frame rather than the previous frame. In the end the behavior is similar to double buffering without using an additional buffer.

  • Like 3
  • Thanks 3

Share this post


Link to post
Share on other sites
Posted (edited)
18 minutes ago, Androvald said:

We could add an option not to have the zoom affect the sensitivity, however I haven't seen this kind of option in any game, and will generally lead to a bad game-play experience. If you are using an HVR 762, for example, it would create behavior equivalent to setting the marksmanship sensitivity to 2.0536, which makes it very difficult to hit anyone. (We limit the value of marksmanship sensitivity to values between 0.1 and 1 at the moment).

 

 

I have seen a number of games do exactly this without even an option and it is so so horrible it actually becomes a reason to not play the game because of the jarring offsetbe in and out of marksman modes.

Edited by UubeNubeh DaWog

Share this post


Link to post
Share on other sites

Thanks for looking into this Androvald 🤗

Share this post


Link to post
Share on other sites
On 6/12/2018 at 3:38 AM, Androvald said:

I've gone through the mouse fix and checked everything it does against the code. Here's the results:


LookRightScale=0.000000
LookUpScale=0.000000
Bindings=(Name="LookUp",Command="Axis aLookUp Speed=+25.0 AbsoluteAxis=0")
Bindings=(Name="LookDown",Command="Axis aLookUp Speed=-25.0 AbsoluteAxis=0")

Set the speed of the look up, down, left, right keys on the keyboard, and any controller attached to the system to zero (they will still be calculated, but won't do anything). This does not have any effect on mouse input.


bEnableMouseSmoothing=False

Changing the mouse smoothing value in options screen is the preferred way of changing this value.


Bindings=(Name="MouseX",Command="Count bXAxis | Axis aMouseX Speed=2.0")
Bindings=(Name="MouseY",Command="Count bYAxis | Axis aMouseY Speed=2.0")

Doubles all the values input by the mouse. Does the same thing as doubling your your mouse sensitivity using the in-game options. (Final value is mouse movement * speed * mouse sensitivity * FOV Scale)


Bindings=(Name="GBA_TurnLeft",Command="Axis aBaseX Speed=-40.0 AbsoluteAxis=0")
Bindings=(Name="GBA_TurnRight",Command="Axis aBaseX Speed=+40.0 AbsoluteAxis=0") 

These bindings are unused in the game, and adding them does not do anything.


OneFrameThreadLag=False

Disallow frame rendering to be later than the current frame. This might cause the game to end up being slower, but might make it feel more consistent. We can add an option for this.

Then why does it fix mouse lag when your frame drops or Vivox problem. I was thinking that it doesn't do anything because it doesn't inject into the game and make mouse raw input, but for some reason I don't have mouse problems while running Vivox or slowing down the sensetivity speed when frames drop

Share this post


Link to post
Share on other sites
Posted (edited)
4 hours ago, Androvald said:

So, disabling this causes the game logic to wait for the game rendering to complete this frame rather than the previous frame. In the end the behavior is similar to double buffering without using an additional buffer.

would definitely love to see this option tweakable in-game to test, as most of the time disabling OneFrameThreadLag causes lower input lag in Unreal Engine games. (some games induce stutters, worse performance)

wait, does this mean disabling onethreadframelag fixes the fps-dependant input? (the one mentioned in the post above)

Edited by 悲しい春

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×