![]() ![]() If the assumption is correct, this leads to the following conclusions:ġ. After the next vsync, the back buffer is drawn. A new frame is drawn onto the back buffer, with the new mouse position. You move the mouse just after this is done. Here’s what I think is happening in the worst case:ġ. I’m assuming Mac OS X uses double buffering for graphics. Observation: when I quickly select text using the mouse, there is no lag between the mouse cursor and the selection of text. No, you can’t do anything about it other than switch to Windows or Linux.ģ2ms… that sounds like the time taken to display two screen frames at 60 Hz.Lag gives “floating” feeling which is often confused with acceleration. ![]() Yes, Mac OS X (any version) is less suited for gaming and design.I’ve also heard that they are supposedly working on a solution. The problem has been confirmed by an Apple engineer. The problem is as well closely related to the cursor jumping issue that has alone been fixed in Lion thanks to all our bug reports. You can supposedly avoid the issue by disabling QuartzExtreme. The problem is caused by a bug somewhere at the windowserver level of Mac OS X, and not by a mouse driver. It still exists in Snow Leopard and Lion. The problem I’m talking about affects all mouse and touchpads since at least Mac OS X 10.4 Tiger. In ControllerMate, for instance, you can manually draw your own acceleration curve.īut it’s all pretty much useless as long as mouse movement is literally retarded, because it takes a lot of time for your brain to get used to it. The truth is, in Mac OS X you can change acceleration to whatever you want using many programs and techniques. I mentioned acceleration because a lot of people often confuse it with lag. The lag of a Mac OS X cursor is at least twice bigger than Windows’ cursor and yes, a human eye can surely notice that. * * * SmoothMouse, the long-awaited fix for mouse problems in OS X, has been released.įurther discussion about mouse lag continues on the SmoothMouse Forum.īy that I mean a delay between receiving movement data from the mouse device and rendering the on-screen cursor. + GHOST_TInt32 y_mouseDiff = mousePos.The main problem of mouse movement in Mac OS X is not acceleration - it’s lag. + GHOST_TInt32 x_mouseDiff = mousePos.x - m_cursorPrevLocation_x M_displayManager = new GHOST_DisplayManagerCocoa -1311,6 +1315,29 GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr) M_needDelayedApplicationBecomeActiveEventProcessing = false a/intern/ghost/intern/GHOST_SystemCocoa.mm + float m_cursorPrevLocation_x, m_cursorPrevLocation_y ĭiff -git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm + GHOST_TInt32 m_cursorPrevDelta_x, m_cursorPrevDelta_y GHOST_TInt32 m_cursorDelta_x, m_cursorDelta_y * Needed because cocoa event delta cursor move takes setCursorPosition changes too. a/intern/ghost/intern/GHOST_SystemCocoa.h diff -git a/intern/ghost/intern/GHOST_SystemCocoa.h b/intern/ghost/intern/GHOST_SystemCocoa.h Maybe it needs further investigation but it might be a good starting point if you want. Here is a patch that somehow fixes the issue, at least in the systems I tested with Remote Desktop, not tested with Smooth Mouse or retina Mac. I know it's been closed but I have been investigating the issue and found the cause to be that when other software manipulates the mouse (like Remote Desktop or Smooth Mouse) while Blender is also doing it when mouse grab is enabled, no longer has a valid value as it now has an accumulated delta because of conflicting mouse positions (Blender is forcing the starting position or warping it so the event delta is relative to the original or warped position, not the previous one). ![]()
0 Comments
Leave a Reply. |