Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Graphics Software

Motion-Blurred Mouse Pointers? 30

Dean Siren asks: "Now that GUIs are getting prettier, will they also motion blur the mouse cursor? With most monitors running at 70-90 Hz, the mouse looks a tad jumpy if you follow it with your eyes. Such a feature would make the mouse appear smooth even below 70 Hz, and with all the CPU and GPU clock cycles to spare on most PCs, should not slow the system much. Does such a feature exist in any GUI?" I doubt such a feature exists currently, but do you think something like this would be useful?
This discussion has been archived. No new comments can be posted.

Motion-Blurred Mouse Pointers?

Comments Filter:
  • by Anonymous Coward
    been using linux for several years, but once i crossed the 1280x1024 X screen resolution threshold, the sluggish inconsistency of the mouse cursor drove me crazy to the point i quit using X as my main desktop and quit all the hacking on: -- XF86Config -- mouse res, speed, accel and sampling rates -- using several brands of serial and ps/2 mice never got there . . . it is a problem that i see mandrake/kde2 is addressing with a "silken" mode adjustment . . . i tried it, but it's still too gritty. a couple of weeks ago i even popped for a optical mouse (logitech wheelmouse) and after several days am fairly use to its quirks. the optical mouse accomplished more than all the hacking and fiddling . . . much better, works well with linux but still lagging. a bonus is the logitech win9x software will turn any of your ps/2 winmice into 'scrolling' rodents by assigning functions to a chord or third button! so the results are workable with linux in a vnc session on local fast-ethernet. my favorite linux applications continue to be vi and xterm, eh?
  • I am going to write a windowing system and I will probably be using OpenGL. I have had this idea. The point is to draw a semitransparent trail behind the mouse cursor to make it easier to spot while moving, not just making it prettier. Sub-pixel precision on the screen would also be nice, but isn't really necessary. (if you need it, you are probably also using a tool in which there is a "zoom" function. =) Another nice feature that would be possible with alpha-blending would be to blend the mouse pointer to 0.5 opaqueness when it has not been moved for a while, so that it doesn't obscure any text that may be under it, without removing the pointer from the screen completely. (i.e. a fancier mouse blanker)

    As to the sampling rate, the PS/2 mouse protocol has a hard upper limit at 40 samples per second - set by the protocol used on the wire. Polling /dev/mouse more often is therefore pointless. I don't know about USB mice though.

  • I just got a USB mouse (logitech optical) and the sample rate is light years better when used as a USB mouse rather than with its PS/2 adapter.

    I highly recommend it. It was even auto-detected and configured by my Mandrake 7.2 install!
  • Try setting the sample rate of your mouse to the same as the screen refresh rate. I use 80 Hz for both the mouse and the screen and pointer movement looks very smooth.
  • Well, I got that conception before 3dfx existed, so there! :P

    I agree, it's not *true* motion blur, it's just how motion blur has generally been done in games, etc.
  • My fault, I overreacted. But, for your future reference, when you change your .sig, it changes on any messages you have posted.

    Care about freedom?
  • Um, why would you need to post another message just to see your .sig? Just go back and look at the one you posted before and see if it looks better now. It's not like the old message keeps the old .sig .

    Care about freedom?
  • What I envision is that when you move the mouse quickly across the screen, instead of seeing 6 simultaneous pointer images in a neat line, the input handler (Windows mouse driver) would blur the image from the last displayed position to the current one. This would be good, IMHO, because something I see at college once in a while is the mouse run up to full speed... when you expect it to go 1/4 of the way across the screen and it slams into the opposite wall, a blur would give a clue as to where the pointer went.

    The blur itself need be nothing fancy... just take the average color of the trailing two mouse pixels and smack down a couple polygons of that color from current to last position.

    -- LoonXTall

  • Only if you've got an Intellimouse, or maybe a version of Windoze later than 95a. I don't know what the mouse panel looks like in Win98---that box dual-boots to Linux, so it has Logitech's control panel for the 3-button mouse.

    -- LoonXTall

  • Leave X out of this. In Windoze (which has more than 5% of the desktop market, in case you didn't notice), there is one "speed" setting; you adjust a slider on the fast-slow continuum. Pointer velocity is directly proportional to mouse velocity, which is rather "intuitive" (having been that way on the Amiga as well, where I learned to mouse, and on Macs, which my school used.)

    Anyway, motion-blur would be useful in a public lab where anyone (or, depending on security, anyone with poledit.exe on a floppy) can speed up the mouse to maximum. Our visual hardware creates motion blurs in meatspace, and interprets them better (faster) than 6 separate images of something (mouse trails or high-speed mouse motion). This would make it easier to interpret where the pointer is when the mouse/pointer speed ratio is wrong, as you would see it race across the screen instead of hopping.

    -- LoonXTall

  • Don't jump to unfounded conclusions. ... My logitech mouse driver...

    Ah. That's not the _vanilla_ mouse control panel. If we're considering nonstandard controls, the MS Intellipoint panel has an actual blur checkbox, but I've never noticed the difference at 60 Hz refresh (which is all I can test it on, since it's in a public lab).

    A far as problems on public computers, the next user can simply change the mouse settings to something more reasonable. I just don't see this as a problem that needs solving.

    Er... my dad spent _hours_ trying to change the _player names_ in MS Hearts... what are his chances of finding/changing the mouse panel? "My Computer" and "Start" aren't very intuitive places to look.

    Besides, what about the raw coolness factor of a motion blur?

    -- LoonXTall

  • The Mac does this automatically, I believe.
  • I sounds like you just need to adjust the speed and accelleration settings on your mouse. Mouse accelleration is what causes your mouse to suddenly speed up as you move across the screen.
  • Don't jump to unfounded conclusions. I was not just talking about X. My logitech mouse driver in Windows has multiple acceleration choices. There only 4 radio buttons for choices but they are there. In addition I have used other packages that offer the same granularity for acceleration as they do for speed.

    A far as problems on public computers, the next user can simply change the mouse settings to something more reasonable. I just don't see this as a problem that needs solving.

  • I haven't really noticed it, but now that you mention it, the mouse seems a little jumpy on this machine. However, that could be psycological in nature.

    BUT this isn't a pressing problem for any GUI that I use. Windows has some huge problems, and Gnome needs work too (although they are both very fine products). If this was a simple fix, then I say go for it, knock yourself out if you are a programmer on a GUI, but, if this would take valuable resources away from bug fixes and more important feature requests, then don't do it.
  • whoa whoa whoa. sorry i'm not a damn pro....christ.
    =-=-=-=-=-=-
    derek brooks
  • sweet, thats pretty cool...but i wasn't aware of it at the time. hey, since you know quite a bit more about this site...do you know anyone here that knows a lot about PHP? (PHP-Nuke specifically). I've submitted a couple ask slashdot articles about questions I've had and they never post my article. Any Ideas?
    =-=-=-=-=-=-
    derek brooks
  • why dont you set your refresh rate a little higher....
    =-=-=-=-=-=-
    derek brooks
  • testing my html on my signature since i forgot line breaks before...
    =-=-=-=-=-=-
    derek brooks
  • by Anonymous Coward
    I do know that in Windows 9x's Mouse Control Panel there is a feature to blur the pointer. -Jey Kottalam Armageddon Games http://www.ArmageddonGames.com
  • you watch Hockey on FOX, don't you?

    --
    * CmdrTaco is an idiot.

  • With Windows NT on top of VMware 1.x on Linux, I had really atrocious mouse performance (many stops in mouse movement, etc) with a PS/2 mouse (the physical mouse).

    When I switched to a serial mouse performance was fine, which I put down to the mouse sampling rate being lower. This may have been fixed, but I expect the load would be higher.

    In fact, you'd probably get best performance from using serial for the virtual and physical mice.
  • Fading mouse trails are _NOT_ motion blur. I blame 3dfx and their "T-Buffer" bullshit for this misconception. Simply mixing each frame with faded versions of the last few frames is just plain ugly. It certainly isn't motion blur.

    see: http://freespace.virgin.net/hugo.elias/graphics/x_ motion.htm

    for a better description.
  • As others have noted, "mouse trails" are not motion blur, even faded. The temporal aliasing of the mouse cursor is due to sampling - in theory, high enough sampling goes above the Nyquist frequency (the frequency at which humans stop perceiving a series of discrete events as discrete and start perceiving the series as continuous). While the Nyquist frequency is often cited as around 10Hz, it varies for different applications. Clearly, for motion video, it's closer to 100Hz than 10 (that's why TVs run at 60Hz, for example (that's fields, not frames)).

    Now, I don't know of any studies off-hand about rapid objects moving across the screen (though it seems like a good one for someone to do - hmmmm), but it seems reasonable that the Nyquist freq for things like mouse cursor movement is at least correlated to speed. Which means, the bigger the screen, the faster the acceleration, the more you would need to sample. If you've got a 1000 pixel screen, and acceleration is set to get the mouse from one side to the other in one second, then a sampling rate of 100Hz produces 10 pixel jumps. As mouse cursors are often smaller than 10 pixels (e.g., the I beam), I would not be surprised if people perceived discrete jumps.

    This is why you need real motion blur. Real motion blur would treat the samples as points on a presumed-continuous curve. Once you've reconstructed the curve, then go back and take the section of the curve covered by the time interval you are drawing, and draw a polygon covering the entire range of motion. Enhancements would include fades along the length, beyond the range covered by the sample interview. This is computationally a pain in the ass.

    The problem is complicated by latency - the more time you spend computing this stuff, the older the mouse position is when you finally draw it. Get too far behind (typically 100 milliseconds) and the user no longer feels in control.

    For some related stuff in 3D, focusing on how these problems get even uglier in a distributed environment, see m y paper [brown.edu] on using blur and transparency to give the user added information about latency and such like.

  • The mouse pointer being "jumpy" is an artifact of aliasing. The position is being discretely sampled at intervals and displayed at those discrete positions, missing out all information on the path in between. At lower rates, you'll notice there are large gaps between cursor images when you move the mouse quickly.

    In theory, the pixels between the old and new position need a proportion of the mouse image also applied to them, somewhat like a "speed blur". This need only be a subtle amount. This effect is in no way less correct than discrete jumps, and if anything it's technically a more correct representation of what's going on with mouse movement.

    Simply increasing the mouse sampling rate will not cure the problem. You would need an infinite rate to fill all positions between jumps (although practically it'd probably be 1000Hz or something).
  • Win2k darkens the area under the mouse ever so slightly like a show, which does increase the cool factor by alot and the usefull factor by a little :) it is easier to see the mouse ... however you gotta run win2k to get that feature so ...
  • Motion blur would simply add a fade to the mouse-trails feature. So do you really just want mouse-trails?

    I'm not sure how a motion blur would affect the "jumpyness" of the cursor.

    Are you actually asking for sub-pixel accuracy? That would make more sense in terms of jumpyness. I mean, right now, I can see the cursor "jump" from one pixel to the next, but I find this useful, I often select things by pixel (in graphics editing, etc.).

    So, if you want a true motion blur, you basically want mouse trails. Maybe you are asking for one thing (sub-pixel accuracy) and calling it something else.

    In any case, I can't see how this would be anything more than another cutesy feature like animated windows and menus. I personally hate these things, and always turn them off. I don't want to wait for my menu to pop out or my window to minimize. It's a waste of my time. I feel lie this would be as well. Even if it's only taking a tiny bit of my resources, I don't want it.
  • The quick solution if you have a PS/2 mouse is to crank up the refresh rate of your mouse, but the downside of this is that it severely hogs down your system. If you crank it up to 100 or 200, the mouse will be quite fluid but you'll also notice that since the PS/2 port isn't polled but rather runs on an IRQ, it also taxes your cpu much more since it will be switching context 5 times more frequently than the default.. now it just so happens that context switches are one of the slowest things to execute on an x86 cpu so even on an 800mhz box it can be quite noticeable when anything else is being animated at the same time. Just try it out by dragging a window around your desktop and you'll notice that the faster you drag it, the jumpier it will get because the mouse is sending more interrupt requests to the cpu. Very technical but my honest suggestion is to get a USB mouse :)
  • by david.given ( 6740 ) <dg@cowlark.com> on Friday November 10, 2000 @03:07AM (#633656) Homepage Journal
    I bet you're using a serial mouse, right? Serial mice only sample at about 10Hz. This means they look dreadful. Try moving the mouse in small circles; on a serial mouse you'll only get about four pointer images on the entire circle.

    If you switch to using a PS/2 or USB mouse, you'll be far, far better off. They sample at 25Hz or up (and I gather you can configure the rate, too). The first time you try one you'll be astounded at how smooth it is, and shortly after you'll never be able to use a serial mouse again without wincing.
  • by Kris_J ( 10111 ) on Thursday November 09, 2000 @03:21PM (#633657) Homepage Journal
    Look for something called "ps2rate" and crank up the sample rate for the mouse, then it looks much smoother. Some "gaming mice" come with such utilities...

Remember to say hello to your bank teller.

Working...