Camera shakes when using mouse but not keyboard

Hello,



Sorry if this has been covered before, but I searched the forum several times and couldn't find anything that exactly matched what I'm experiencing.  I am evaluating jME for the possibility of using it for my next game.  I downloaded a bunch of the demos and noticed that in all of them, when I move the mouse around, the camera is rather jittery.  However, when I use the arrow keys on the keyboard, the camera movement is perfectly smooth. 



Has anyone else encountered this before and come across a solution?



Below are my system specs (tried to only include the stuff I thought would be relevant.


System Information
  Operating System: Windows XP Professional (5.1, Build 2600) Service Pack 2 (2600.xpsp_sp2_gdr.070227-2254)
          Language: English (Regional Setting: English)
System Manufacturer: Gigabyte Technology Co., Ltd.
      System Model: M61P-S3
              BIOS: Award Modular BIOS v6.00PG
          Processor: AMD Athlon(tm) 64 X2 Dual Core Processor 4000+,  MMX,  3DNow (2 CPUs), ~2.1GHz
            Memory: 2048MB RAM
          Page File: 309MB used, 3630MB available
        Windows Dir: C:WINDOWS
    DirectX Version: DirectX 9.0c (4.09.0000.0904)
DX Setup Parameters: Not found
    DxDiag Version: 5.03.2600.2180 32bit Unicode

Display Devices
        Card name: NVIDIA GeForce 7600 GT
    Manufacturer: NVIDIA
        Chip type: GeForce 7600 GT
        DAC type: Integrated RAMDAC
      Device Key: EnumPCIVEN_10DE&DEV_0391&SUBSYS_22201682&REV_A1
  Display Memory: 256.0 MB
    Current Mode: 1600 x 1200 (32 bit) (85Hz)
          Monitor: Plug and Play Monitor
  Monitor Max Res: 1600,1200
      Driver Name: nv4_disp.dll
  Driver Version: 6.14.0010.8466 (English)
      DDI Version: 9 (or higher)
Driver Attributes: Final Retail
Driver Date/Size: 2/13/2007 21:32:00, 3986944 bytes
      WHQL Logo'd: n/a
  WHQL Date Stamp: n/a
              VDD: n/a
        Mini VDD: nv4_mini.sys
    Mini VDD Date: 2/13/2007 21:32:02, 3663040 bytes
Device Identifier: {D7B71E3E-40D1-11CF-2054-2A0200C2CB35}
        Vendor ID: 0x10DE
        Device ID: 0x0391
        SubSys ID: 0x22201682
      Revision ID: 0x00A1
      Revision ID: 0x00A1
      Video Accel: ModeMPEG2_A ModeMPEG2_B ModeMPEG2_C ModeMPEG2_D ModeWMV9_B ModeWMV9_A
Deinterlace Caps: {212DC724-3235-44A4-BD29-E1652BBCC71C}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
                  {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
                  {212DC724-3235-44A4-BD29-E1652BBCC71C}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
                  {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(UYVY,UYVY) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
                  {212DC724-3235-44A4-BD29-E1652BBCC71C}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
                  {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YV12,0x32315659) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
                  {212DC724-3235-44A4-BD29-E1652BBCC71C}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_PixelAdaptive
                  {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(NV12,0x3231564e) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY DeinterlaceTech_BOBVerticalStretch
        Registry: OK
    DDraw Status: Enabled
      D3D Status: Enabled
      AGP Status: Enabled
DDraw Test Result: Not run
D3D7 Test Result: Not run
D3D8 Test Result: Not run
D3D9 Test Result: Not run


DirectInput Devices
      Device Name: Mouse
        Attached: 1
    Controller ID: n/a
Vendor/Product ID: n/a
        FF Driver: n/a

      Device Name: Keyboard
        Attached: 1
    Controller ID: n/a
Vendor/Product ID: n/a
        FF Driver: n/a

      Device Name: Controller (XBOX 360 For Windows)
        Attached: 1
    Controller ID: 0x0
Vendor/Product ID: 0x045E, 0x028E
        FF Driver: n/a

Poll w/ Interrupt: No
        Registry: OK

I believe this is due largely to keystrokes applying a constant change whereas mouse is variable.  Might need some kind of smoothing function applied?

Well, the camera does seem rather responsive and sensitive; but jittery?  No…



Are your mouse settings in windows altered?  Maybe sensitivity or acceleration is cranked up



Or are you using a mouse software utility? 



Also is this a laptop?  If it is then it might be an issue with the software driver for the trackpad.



I use a MAC with Parallels and have tested in MacOSX, Windows (virtual mode), and Windows (native mode); with a trackpad and a trackball and I have yet to see unacceptable 'jitteryness'.

Thanks for the responses, guys!



@renanse - So are you saying that others have experienced this and it is a common thing that might be resolved by some sort of smoothing?



@basixs - It's not so much a huge shake as it is more un-smooth scrolling when using the mouse.  For example, if you start a terrain demo and keep your eyes on the terrain, when pressing the keyboard arrow keys, you can clearly see all the terrain details.  When using the mouse, the terrain is more shaky and less clearly visible.



And, no mouse settings have been altered, I'm not using mouse software, and this isn't a laptop.



I tried out some other opengl engines just to make sure it wasn't my PC; the others seemed a bit smoother.  In any case, if it's as renanse says (that there needs to be some sort of smooth function applied to the mouse input), than that might not really be that big of an issue to fix.

I've heard people talk about it in the past, and some changes were made in the past to help.  I think though that it ends up coming down to how you use a mouse versus a keyboard.  I can hardly ever produce a smooth turn using my mouse because my hand is either too "shaky" or I can't seem to move my mouse at a constant enough speed.  I suppose you could make the camera average the "velocity" of the turn over the last several frames and average that to determine how much to actually turn.  It might be a little tricky to do that without it feeling slightly less than responsive, but it should "look" smoother.



I'd be happy if someone could chime in more here though. :)  Optical illusion, human nature, or actual issue?

I don't think it's either. It's just that there's a strong effect when you do something small like press a key for a short time or move the mouse a bit. Some ways you can reduce it is to use acceleration instead of velocity, with some tweaking you can get it to be quite smooth.

I know this is 3 years old but I had a similar problem with latest JME3. All I did was update my nvidia drivers to fix this problems. I believe it was an issue with nvidia opengl drivers.