Jump to content

Recommended Posts

Due to the changes of how Windows 8.1 deals with High DPI displays, Microsoft have changed the way the mouse works in Windows 8.1 (also to reduce power usage and battery life on tablets and laptops).

This affects users with high DPI mice and mice with polling rates > 125Hz (which is now, almost everyone).

Microsoft have released a partial fix to this issue (that fixes cursor movement in mainstream games such as the Call of Duty series), but most games and even the windows desktop (explorer.exe) require a manual fix including a registry tweak for each executable file, execution of a command in CMD Prompt, followed by a restart.

However this issue can be fixed by making the cursor in Pillars of Eternity by using DirectInput or Raw Mouse Input (preferred, since Mac and Linux don't use DirectX):

Here is some microsoft information on how to use this in your game:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645590(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ee418864(v=vs.85).aspx

You can also go a step further and give Pillars of Eternity a hardware cursor option (if that isn't already the default case)
 

Hardware Cursor means, that the GPU provides to draw a (small) overlay picture over the screen framebuffer, which position can be changed by two registers (or so) on the GPU. So moving around the pointer doesn't require to redraw the portions of the framebuffer that were previously obstructed.


Hardware cursors are frame rate independent and make games much more playable on lower end machines during frame rate lag (as the mouse doesn't lag) and reduce cursor latency overall

I posted about this earlier but I thought I'd elaborate a bit more on it this time.
 

  • Like 1
Link to comment
Share on other sites

Huh. I'd always wondered what "hardware mouse" actually did in the few games I've come across that have it as an option. The only question I have is why it's an option instead of the default...

Quote

How I have existed fills me with horror. For I have failed in everything - spelling, arithmetic, riding, tennis, golf; dancing, singing, acting; wife, mistress, whore, friend. Even cooking. And I do not excuse myself with the usual escape of 'not trying'. I tried with all my heart.

In my dreams, I am not crippled. In my dreams, I dance.

Link to comment
Share on other sites

Due to the changes of how Windows 8.1 deals with High DPI displays, Microsoft have changed the way the mouse works in Windows 8.1 (also to reduce power usage and battery life on tablets and laptops).

 

This affects users with high DPI mice and mice with polling rates > 125Hz (which is now, almost everyone).

 

Microsoft have released a partial fix to this issue (that fixes cursor movement in mainstream games such as the Call of Duty series), but most games and even the windows desktop (explorer.exe) require a manual fix including a registry tweak for each executable file, execution of a command in CMD Prompt, followed by a restart.

 

However this issue can be fixed by making the cursor in Pillars of Eternity by using DirectInput or Raw Mouse Input (preferred, since Mac and Linux don't use DirectX):

 

Here is some microsoft information on how to use this in your game:

 

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645590(v=vs.85).aspx

 

http://msdn.microsoft.com/en-us/library/windows/desktop/ee418864(v=vs.85).aspx

 

You can also go a step further and give Pillars of Eternity a hardware cursor option (if that isn't already the default case)

 

Hardware Cursor means, that the GPU provides to draw a (small) overlay picture over the screen framebuffer, which position can be changed by two registers (or so) on the GPU. So moving around the pointer doesn't require to redraw the portions of the framebuffer that were previously obstructed.

Hardware cursors are frame rate independent and make games much more playable on lower end machines during frame rate lag (as the mouse doesn't lag) and reduce cursor latency overall

 

I posted about this earlier but I thought I'd elaborate a bit more on it this time.

 

 

We actually have no control over how mouse cursors work because we are using Unity. We are using hardware cursors.

 

Thanks for the post.

  • Like 4

Follow me on twitter - @adam_brennecke

Link to comment
Share on other sites

Huh. I'd always wondered what "hardware mouse" actually did in the few games I've come across that have it as an option. The only question I have is why it's an option instead of the default...

 

Because a bad video card / drivers combinations can produce all kinds of weird artifacts when hardware mouse support is enabled.  Roughly in order of "How much of a pain it is":

 

* The mouse cursor may not appear at all.

* The mouse cursor may appear, but visual artifacts occur when the mouse is moved (which may or may not have any relationship to where the mouse actually is)

* The mouse cursor may appear, but not change when it should (in response to what lies under the mouse, for example).

* The mouse cursor appears, and changes image correctly, but the "hotspot" (the spot where the application reports the mouse is) and the visual representation of the mouse don't align -- the application and the user disagree on what is being clicked on.

 

Since the performance gains of using a hardware mouse are pretty small, it makes sense from the developer's point of view to disable hardware mouse support by default just to avoid the potential of problems.  Of course, all of the above were issues 5-7 years ago -- I suspect that issues like this are one in a million at this point. :)

Link to comment
Share on other sites

  • 9 months later...

 

Huh. I'd always wondered what "hardware mouse" actually did in the few games I've come across that have it as an option. The only question I have is why it's an option instead of the default...

 

Because a bad video card / drivers combinations can produce all kinds of weird artifacts when hardware mouse support is enabled.  Roughly in order of "How much of a pain it is":

 

* The mouse cursor may not appear at all.

* The mouse cursor may appear, but visual artifacts occur when the mouse is moved (which may or may not have any relationship to where the mouse actually is)

* The mouse cursor may appear, but not change when it should (in response to what lies under the mouse, for example).

* The mouse cursor appears, and changes image correctly, but the "hotspot" (the spot where the application reports the mouse is) and the visual representation of the mouse don't align -- the application and the user disagree on what is being clicked on.

 

Since the performance gains of using a hardware mouse are pretty small, it makes sense from the developer's point of view to disable hardware mouse support by default just to avoid the potential of problems.  Of course, all of the above were issues 5-7 years ago -- I suspect that issues like this are one in a million at this point. :)

 

 

#3 is exactly what is happening to me in linux with the Steam Linux version of the app. The mouse cursor is about 50-60 pixels below where the game thinks I'm clicking... Using an AMD video card.

Link to comment
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
×
×
  • Create New...