Jump to content
  • Advertisement
Sign in to follow this  
DrColossus

Raw Input mouse stutter/jitter

This topic is 1814 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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:
 
Counter-Strike Source:
 
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
Advertisement

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
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!