The cause for all your Mac OS X mouse annoyances
d43.me
d43.me
32ms divided by 4 is 0.008s which gives us 125Hz (the typical mouse sample rate). So my guess is that some form of mouse movement analysis (like mouse smoothing) is working on at least four samples (so that it can statistically mean something), rolling.
Why it does so might be that 32ms is the right time to evaluate the intent of a typical human interaction with a pointer, maybe even using some form of inverse kinematics, so that when you move your hand towards a small button aiming is smoothly assisted, and/or click target is helpfully adjusted in size to enhance Fitt's law compliance (like iOS keyboard keys dynamically changing sizes depending on the sequence of letters, hence words you type)
Of course this bites hard outside of this environment. It seems Mac OS X needs an API to provide some form of raw value access to the pointer so that arbitrary software (notably games) can conduct its own analysis.
Anecdotally, my personal experience has been that it never bothered me, neither in games (FPS and RTS) nor in WIMP.
I think Windows uses a special graphics card feature (an "overlay" IIRC) to update the mouse cursor independently of the double buffered window system. I noticed moving windows became ever so slightly more laggy going from XP to Vista - probably because the window system became GPU accelerated.
Usually this is all on the sensing side and not the host side. Perhaps there's some trackpad filtering that's being applied to the mouse when it didn't need to be?
Such a scenario would be impossible to do so close to the hardware as it would have no knowledge of the GUI. I have not even the foggiest idea if OSX does something even close to that but hey, you'll never know. It could just as well be some eager host-side smoothing to accommodate for vintage or unknown mice.
32ms is FOREVER for game input. That's two whole frames of a 60hz game.
http://www.antigrain.com/research/bezier_interpolation/
// Assume we need to calculate the control
// points between (x1,y1) and (x2,y2).
// Then x0,y0 - the previous vertex,
// x3,y3 - the next one.
It's much harder to hit any buttons because you can't just speedily mouse over it, you have to use visual feedback to inch on it. And it causes much more stress and strain on your hand, wrist, elbow, eyes and everything. No matter what mouse hardware you are using. The same mice work very well in Windows and Ubuntu. The OS X drivers just suck. I've tried USB overdrive, mouse settings and everything. The basic lag just doesn't go away.
Too bad some keyboard shortcuts like for scrolling work really bad in OSX too - the cursor stays in one place when going up or down pages meaning you have to use the mouse.
The cursor jumping is another crazy issue indeed. You never know where it is going to be once you go over a certain speed threshold.
(Writing this from OS X. Otherwise it's quite nice.)
Caveat: I used to play Quake where the difference between 60 and 77 FPS is life and death. Everybody used high rate CRT:s and clocked their mice to 500 Hz or so. Here's a real mouse test: http://www.esreality.com/?a=post&id=1265679 . I'm annoyed at the mushy interfaces that electronics could have gotten rid of decades ago. It's somehow just a less stressful situation to take photos or browse them in a camera with less delay for example.
If you grew up with one system, the other is horribly broken and I'd argue nearly impossible to learn. I'm a graphic designer who used Windows for years at work without ever "getting used to it", even if I never came home and touched my Mac. Now I work full time at home and it's heaven to have a mouse/cursor that does what I want it to do.
Strangely on some installations it doesn't seem to come into effect. For example, I have never noticed it on a MacBook using the touchpad. And I could have sworn it was not there when I first installed Snow Leopard.
But right after installing Lion I had to spend the first few hours hunting down utilities to get the mouse back into a usable state...
That is, until I installed Team Fortress 2 for office LAN party. Having played it on Windows, it was a world of difference - OS X version seemed so inaccurate, even after getting rid of acceleration.
I find the same thing happens when playing console games and the "look" stick acceleration curves are completely different between games. It is disorienting until you get your bearings and adjust to the speed and acceleration of each input system.
Just as switching between Windows and OS X means switching from CTRL to CMD, you kind of have to go with the flow on mouse speed, acceleration, and so on.
I play in Mac OS X and I use a Razer Deathadder 3G Spawn. No extra drivers.
However, I tried wiggling the mouse pointer and I can't see a lag on my iMac, but if I grab a Finder-window and wiggle it left-right very fast I think there's actually some lag.
I can't really compare TF2 to Windows since in Windows I use the Razer drivers. But yeah, the mouse in TF2 in Windows feels a bit more "glued on".
Edit: Just tried the Explorer-wiggling in Windows and it too felt a bit laggy.
That would introduce about 8ms of "lag" if you're really dialled in and able to perceive it.
I also had Ubuntu at home and at my parents' place, and it had the same simple responsive mouse as Vista.
Now I've gone full Mac but it still constantly annoys me at work. If it weren't for the other good things in the OS...
Just from anecdotal evidence from someone who can detect the lag with 3 different mice, it's not there with the trackpad.
I have noticed this "lag" with my magic mouse. Until now I have assumed there is something wrong with the hardware in it. Or that the bluetooth connection was breaking up. When I use the build in trackpad I have never noticed any lag.
Since Apple normally pay attention to details like this, im suprised that they have ignored this issue for so long.
If you use it for a while you might become blind to it?
The lag author described is a plausible cause for my experiences.
The other area where it drives me crazy is highlighting text - for some reason, it always feels cumbersome.
I'm now used to the mouse behaviour on OS X, but every time I have to switch back to Windows to do some testing I realise what I'm missing.
The mouse is such a crucial part of the experience it's odd that Apple haven't gotten it right.
I've hated every Windows/Linux touchpad I've used, but I love the Mac trackpad. I am not a gamer, though.
Most people are not sensitive to minute changes in the way a mouse moves and feels. I've been a long, long time Windows user, and I absolutely love the way the mouse feels on a Windows system. I used to be a gamer as well, so I appreciate precise input, which is why I prefer high-resolution wired mice over wireless ones.
There is definitely a lag in OS X, and it drives me absolutely crazy. I started using OS X when Tiger came out, and I haven't seen any improvement through Snow Leopard (haven't used Lion yet). I mis-click on stuff all the time and it breaks my concentration having to focus so hard on the mouse. I am definitely willing to pay for a fix!
I should also note I tried USB Overdrive and another utility (name escapes me atm), but to no avail. Also, like many other people here, the touchpad is absolutely fantastic, I only see the issue with connected mice. This is probably due to the fact that I don't do graphics or precise movements with the touchpad, so it's much much more tolerable.
The input lag is one thing. What about the actual hardware? Remember the hockey puck? The pro mouse? The mighty mouse?
There is a joke somewhere in there... maybe about Jobs having to "invent" multi-touch because he couldn't grock the concept of a mouse.
In particular, the multi-touch trackpads are the meow part of the cat.
Recently I've had to use a Windows laptop (Lenovo) for work and I've yet to find a suitable external mouse - the track (pad|point) on the laptop is over-responsive, and both Microsoft and Logitech drivers are buggy in their application.
Finally (and this is only on my recent laptop) the external mouse and keyboard take ages to "wake up" - and they're USB (the bluetooth ones sometimes require me to go to device properties in order to become visible)! On my Mac, external inputs respond immediately once plugged in, and even bluetooth is almost seamless.
Played Starcraft/SC2 at a fairly decent level. To an RTS player the lag is extremely maddening as every mouse movement seems a bit off. (to get a good feel for exactly what's off, try to repeatedly draw diagonal strokes of the same size as fast as possible in any paint application for a good minute or two. Do it in both Windows and OSX and you'll notice something feels off about the OS you're not used to)
I tried a large number of things to get the feel right (all the old blog posts said that only acceleration was to blame), but even with mouse acceleration disabled, something felt off. Right now I only feel comfortable using my mac with mouse acceleration set to -2x for some reason.
I eventually just gave up and uninstalled SC2 from OSX. Now I only play it whenever I'm dual booted into Windows. Almost all the other mac users I know who play SC2 use this solution.
This could be great news.
The model I have is very similar to this one: http://www.amazon.com/Kensington-K72346US-Netbooks-Buttons-S...
It used to be on the Apple store website where I bought it but they seem to have removed it.
Like one of the commenters mentioned, using synergy from a Linux PC solves the problem for me. For a period, I actually resorted to running a Parallels instance of Linux with the external mouse attached to it, and setting up synergy to share the mouse pointer with OSX.
I'd like to run Linux as the main OS on my MacBook Pro, but in Linux the problem is the opposite: I've never found any driver / setting that makes the touchpad work really well under Linux (any hints would be appreciated - of course, I could always run OSX in VirtualBox under Linux, connect the touchpad to OSX and share it using synergy.... :)
I tried several different sets of tweaks but none of them felt right. Especially, I don't think any of them let you select with one finger and then drag with a second.
(Last I tested was about 6 months ago, I'd say.)
That being said, Mac touchpads feel like heaven and I haven't used a single PC touchpad that even comes close to it.
I don't play FPS games, but it sounds like the lag is a major problem. If Apple has the lag by design, it would make sense for this "feature" to be turned off by default once you start a game, and turned back on once you quit.
Apple has never appeared to be particularly concerned with satisfying the hardcore gamers who tend to play FPS games and who would notice the lag, so this is probably a really low priority for them.
To the question of whether it's "noticeable" or not, it'd be cool if someone wrote a driver or extension to intentionally add some additional lag. So even if we couldn't tell whether 15ms felt "snappier" than 32ms, we could at least report on whether 64ms feels "floatier" than 32ms, for example.
Not totally surprising that QuartzExtreme was mentioned. Flowing everything through a resolution-independence engine (right?) doesn't sound like it'd be free, even with fast procs and graphics cards.
And who knows, maybe after a "kinda sucky valley" there's some comfy-feeling region up above 250ms, where the "float" just feels okay. :)
I simply can't, after 4 years, move the mouse swiftly, and precisely to a point on the screen that I want. It falls short, it goes too far. I slow down to be more precise and the acceleration curve makes it go too annoyingly slow. I speed up and the cursor flies all over the screen. The cursor movement speed feels random and useless. I can't imagine how anybody tolerates it.
It's bloody annoying and the fact that there's not an option to just turn the stupid acceleration off is mind boggling.
I don't have these problems on Windows, Ubuntu, QNX, Haiku, Amiga OS, GEOS on the C64, RISC OS, the SNES mouse, etc. It's only OS X.
I don't even recall having the issue on MacOS.
I don't know if it was because I was damaged as a gamer when I was younger and can't appreciate something about the Apple way of handling mice, or Apple is just doing something wrong, but the way the device is handled on practically every other system I've ever used doesn't work like it does in OS X. It's infuriating and I've spent countless hours trying to fix it.
It's like my right arm has some debilitating muscle disease where I can't quite control what my arm does -- I can only give it vague directions and hope it ends up more or less where I want it to, then shift gears and take my time to get it to where I want it to go.
Bought Logitech/Microsoft/Cheap store brands, none of them gives a smooth mouse movement on OSX. It feels like someone's holding ur hand while using the mouse.
I have tried a few different mouse acceleration fixes/apps but still can't get it to feel right. This article explains why nothing I've tried works well.
I found that all optical mice suffer from a kind of blindness when faced with surfaces that do not have sufficient contrast and crucially sufficient variety in the pattern.
It's as if the mouse thinks it's still looking at the same spot if its moved on a surface like this, hence the delayed reaction or lag.
I searched far and wide for a suitable surface and I found a picture of pebbles on a beach worked best as long as the surface of the picture is also matt and not glossy.
I know it's not a tech solution...
I switched to a Steelseries Xai, and I've been loving it. It doesn't have any special mac drivers but all of the fancy settings are controllable via a little LCD screen on the bottom of the mouse.
I'm not sure if its affected by this "32 ms" problem. I only use OS/X so I might just be used to it at this point.
The cable is covered with cloth, not plain plastic.
See if there's a newer firmware for your mouse.
If I look at my mouse in the app "USB Prober" I see OS X uses a 2ms interrupt to poll the mouse. If I'm not completely off that's 500Hz. More than the 125Hz that seems to be default USB polling frequency.
Not sure what it changed though; I thought it was the acceleration curve but for all I know it could be replacing the entire OS X mouse driver, laggy code and all.
I've also had Windows friends complain about mouse lag on my OS X. I've always thought it was due to the different acceleration curves, but disabling OS X mouse acceleration never seemed to fix it.
I'd long believed that the problem would never be addressed, and then a couple of months ago I used a new Apple Magic Mouse with Lion; the acceleration and speed was so good out of the box that I didn't install USB Overdrive as part of my new Mac setup routine for the first time in over 5 years. Could it be that it's a driver issue, or just different devices have different acceleration characteristics? Perhaps, but whatever the case might be, I'm far less inclined to attribute it to input lag.
> The problem is caused by a bug somewhere at the windowserver level
> of Mac OS X, and not by a mouse driver. You can supposedly avoid
> the issue by disabling QuartzExtreme.
So not hardware-level, but UI level. So it would make sense that it would not happen in games that don't use the windowserver's cursor.Changing that option changed a lot. I loved it. But 10.7 is a bit better at managing it than it used to be, or it feels that way to me, so I don't mind as much as I did.
Granted, I've never owned a Windows box. Every time I had to use one I was deeply annoyed at that inaccurate epileptic pointer.
But it's a common complaint among converts. There should be an option for that.
I can't understand why this issue would persist in a major operating system.
I'm not a gamer, but I appreciate the precision of a gaming mouse in my everyday work. I have never been able to use a wireless mouse because the delay is too disconcerting for me.
Is it possible that I'm getting less lag with my mouse than I am with the trackpad? Or is that in my mind?
It's very curious that something like this could slip through into OS X given Apple's fanatical attention to detail, and the fact that they're aware of what that delay means for mobile UX.
Don't even get me started on trackpads either. It's like writing trackpad is a problem solvable by a single human being and that person works for Apple. Seriously, their trackpad is fantastic and every other one is complete garbage.
It's incredibly frustrating. It's one of the things that takes Mac OS X from a perfect operating system to a good operating system. And it's such a simple problem.
The reason I'm not convinced is that my old Macbook Pro running Tiger had the exact same issues, but a proprietary mouse drive called USB Overdrive X allowed me to remove the acceleration, and the mouse felt perfect. That driver apparently didn't work in Lion (or Snow Leopard), and every single script/setting/utility I could find for supposedly disabling acceleration didn't change anything except perhaps speed (sensitivity).
I perceive no lag in the Mac OS X mouse. I am very sensitive to it. I'm able to perceive the flicker in fluorescent bulbs, yet I do not see any lag in the mouse.
I think if he's seeing 32ms, it is some particular combination of hardware and software.
I've tested this again with my trackpad and my cheap logiteck trackball. No perceivable lag.
I play Team Fortress all the time, there is no mouse lag. There is, of course, noticeable network lag.
No one can see flicker in bulbs with electronic ballasts though.