Sign in to follow this  
DrColossus

Raw Input mouse stutter/jitter

Recommended Posts

I'm using the raw input API for all input events in my own engine, and everything works just fine.
Well, as long as i only run the executable itself.
 
I also started working on an editor tool suite in Winforms/C#.
The editor starts the engine in a separate process and passes it's window handle along. The engine then creates a child window and renders everything inside the editor, similar to how the BitSquid tools work (http://bitsquid.blogspot.de/2010/04/our-tool-architecture.html).
 
And that's where my problems arise:
Whenever i hold down a button on my keyboard while the engine is running within the editor window, the mouse input gets very jittery.
 
Here are two small 60fps videos (~500KB in size) showing the issue:
 
The jitter starts to appear whenever the windows key repeat kicks in.
I don't have a lot of experience in Win32/WinForms, so i'm currently at a loss about how to fix this.
 
Other games seem to exhibit similar (the same?) issues:
 
Battlefield 3:
http://www.youtube.com/watch?v=Apwx26xCDa4
http://www.youtube.com/watch?v=eR1Z_FC-L1U
 
Counter-Strike Source:
http://www.youtube.com/watch?v=AAnvrsKchD8
 
The BF3 fix was to limit "RenderFramesAhead" to 1, forcing that in the driver (Nvidia 320.49, GTX580) doesn't fix it in my case.
the CS:S solution was to use raw input, which i already do.
 
 
Does anyobody have any ideas on what might be causing this?
Edited by DrColossus

Share this post


Link to post
Share on other sites

I have since changed the rawinput message handling to run on a different thread as a workaround, using an invisible window with blocking GetMessage() calls.

 

Everything is smooth now in all circumstances, though i'd really like to know what was causing this behaviour.

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

Sign in to follow this