Hello everyone,
First post here. I posted this in the Ogre forums but they told me to post here instead.
My problem is that OIS seems to miss mouseMoved events at low framerates, like, for example, in scenes with large amounts of physics engine objects. I have my camera movement linked to mouse movement as instructed in the Ogre tutorials:
mCamNode->yaw(Degree(-mRotate * e.state.X.rel), Node::TS_WORLD);
mCamNode->pitch(Degree(-mRotate * e.state.Y.rel), Node::TS_LOCAL);
When I move the mouse it "lags" and doesn't move as far as with higher framerates. I noticed with unbuffered input (from following the tutorials) that the application had a very similar issue. This however seemed to be solved by switching to buffered input. With a decreased framerate, almost the exact same thing occurs; mouseMoved events seem to skip. It seems a certain number of events are called before the rest are dropped. I have made sure to return true to all event calls as this can cause the aforementioned problem.
Upon further research, I came across this page:
http://www.wreckedgames.com/forum/index.php/topic,172.0.html
It would seem that the problem is linked to an overly small event buffer. I have a G5 mouse with SetPoint installed on my computer. I normally keep the report rate at 1000 reports per second for extra precision in many games. I believe this causes a problem in OIS as I discovered that lowering this report rate to 125 reports per second greatly reduces the lag. I'm pretty sure now that this is the issue. However I don't know how to change the size of this buffer or any other workarounds to this problem.
Does anyone know how to fix this issue?
Thanks in advance
Edit:
Here is the link to the original post:
http://www.ogre3d.org/forums/viewtopic.php?f=2&t=52361