View Single Post
Old 08-29-2010, 04:01 PM   #177
MarktheC
 
Join Date: Oct 2009
Reputation: 10
Posts: 29
Quote:
Originally Posted by masta121 View Post
I'm using 2000DPI on my G500, but how do you tell if you're getting negative acceleration? Aiming seems fine.
One cause of negative acceleration is this: Many games (HL1 and Source and Quake based) use changes in the mouse pointer position to calculate mouse movement.

The game locks the mouse pointer to the middle of the screen.
When you move the mouse, the (hidden) pointer moves and the game calculates movement from the middle and then resets the pointer back to the middle. It does this every frame.
If the game is busy, and doesn't reset the pointer to the middle fast enough, a quick mouse movement can move the pointer right to the screen edge and it gets stuck at the edge. Any further movement past the edge is thrown away and you get negative acceleration.

You can check for negative acceleration caused by the pointer hitting the screen edge using a program I wrote.

http://www.filefront.com/17226592/Po...nRecorder.zip/

What PointerPositionRecorder does, is continually records the pointer position (every time the mouse moves, or at least once a second if the mouse is not moving) into 100 pixel wide and 100 pixel high buckets and every 5 seconds dumps the bucket totals.
So if the pointer is at X=150,Y=150, then the count for bucket X=2,Y=2 is incremented as the mouse moves.
If the pointer is between 0 and 99, then bucket 1 is incremented.
There are 20 buckets, so the recorded pointer positions can go from 0 to 1999.

What we would hope to see with a game running, is zeros in the buckets to the left and right, and counts in ONE of the central buckets only, being the bucket that the game keeps its cursor/pointer set to.

Do this:
- Put the pointer in the middle of the screen
- Run PointerPositionRecorder.exe by pressing Enter key in Explorer (don't use the mouse!)
- In-game, aim, moving slowly, slowly within your game
- Stop using the mouse
- Come back to PointerPositionRecorder.exe and see what it shows (wait 5 seconds)

Then do this:
- Put the pointer in the middle of the screen.
- Run PointerPositionRecorder.exe (again) by pressing Enter key in Explorer (don't use the mouse!)
- In-game, aim, moving quickly, so that negative acceleration happens. Move quickly LEFT will work better.
- Stop using the mouse
- Come back to PointerPositionRecorder.exe and see what it shows (wait 5 seconds)

See if the pointer has been reported as hitting an edge (X Range and Y Range values).

X Range will report the first number as 0 if the left edge was hit when doing a fast left movement in-game.

NOTE: Try to avoid moving the pointer to the edges of the screen unless in-game so that PointerPositionRecorder.exe is reporting in-game positions only. You want PointerPositionRecorder to record in-game pointer position, NOT the pointer position while you were finding PointerPositionRecorder.exe to click on it, or clicking PointerPositionRecorder.exe in the taskbar to see what it says after the test. Use Alt+Tab rather than the taskbar.

Ideally the bucket-counts should show almost all of the time the pointer was in the middle of the screen.
Times when the pointer was near the edge of the screen probably mean negative acceleration.
MarktheC is offline   Reply With Quote