Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Currently, in OS X, the entire system is drawn using double buffering through Quartz. The purpose of this is, as far as I know, to eliminate screen tearing.

The reason I would like double buffering to be disabled is because of the mouse lag that it creates, and I am absolutely certain that double buffering is the root cause of all mouse lag in OS X (other than mouse acceleration, which I have disabled by using Razer's proprietary mouse drivers with my Razer DeathAdder).

If I boot OS X with an unsupported video card, the entire OS becomes very laggy, because QE/CI is not supported on the video card and is therefore disabled. However, double buffering is also disabled when I do this, as I can see screen tearing when I shake windows or move the mouse quickly. When boot this way, and double buffering is disabled, the mouse is perfect, just like it is on Windows. No input delay, no acceleration, just raw mouse movement.

I want to know how either double-buffering can be disabled across the entire system, or maybe even if there is a way to draw the mouse outside of Quartz, so that it is not double buffered.

share|improve this question
    
I've never seen mouse lag of any kind on any graphics system Apple has shipped. Which exact model Mac is this on? (Include your "MacProX,Y" model identifier from System Profiler / System Information). What happens when you use the graphics card that Apple built into your Mac? –  Spiff Aug 2 '12 at 1:42
    
This is the strange thing. Most people who have used a Mac for a while say "no, I don't notice any mouse lag." Yet, anyone I know who's coming from Windows and plays a lot of FPS games (and therefore would notice the input delay) and tries a Mac, they notice it right away. I absolutely assure you that there is input delay. Not lag as in framerate lag, but delay. 32 milliseconds, to be exact. I have a MacPro3,1. Read more about this here: d43.me/blog/1205/… . I'm not the only one. –  Huskehn Aug 2 '12 at 2:39
    
Mouse pointers are usually hardware based and rendered kinda like an old school sprite. So the problem might be in how/when the registers/memory for the hardware mouse pointer are being updated when Quartz is active. –  Brian Aug 3 '12 at 22:22
add comment

3 Answers

up vote 2 down vote accepted
+200

I think what you want to disable is Beam Sync. This can be disabled through Quartz Debugger, an application that is part of the Xcode Developer Tools.

More information can be found here: http://forums.macrumors.com/showthread.php?t=779950

(Note: Take the above with a grain of salt. I do not own a Mac and found that nearly 3 year old forum thread with Google. There are more recent threads though, just none as detailed).

share|improve this answer
    
Almost! Disabling Beam Sync did seem to disable double buffering for everything... except the cursor (which is the problem for me). This is still very helpful though! If there's a way to disable double buffering for the cursor as well, then this would be awesome. –  Huskehn Aug 1 '12 at 21:33
    
@Huskehn: I don't think the cursor is separately double-buffered. I'm not even sure what that means :D –  Oliver Salzburg Aug 4 '12 at 18:14
add comment

It seems Pro Tools starting with version 8 has an issue with Beam Sync. Basically it's a form of double buffering that OSX uses when drawing Quartz windows.

  • Get a preferences pane called Secrets.
  • Open Secrets and go to the System settings.
  • Look for Beam Sync and set it to disable.
  • Set Enable Quartz Extreme to On.
  • Reboot.

While running Pro Tools (and having the screen redraw slowly), you open this app, press Cmd+1, and disable Beam Sync and ensure that Quartz Extreme is On. You will immediately notice a perfectly smoove and beautifully working Pro Tools.

Rather than having to open Quartz Debug every time you run Pro Tools however, Secrets is the easiest way to set the OSX preference for this semi-permanently. For some reason however, the preference for Beam Sync occasionally gets set back to Automatic and you need to reset it.

Hope it helps.

share|improve this answer
    
This doesn't seem to work like it does with Quartz Debugger. The settings revert once I restart (I did press "Update Secrets"). Note that I'm on Mountain Lion. –  Huskehn Aug 4 '12 at 20:27
add comment

SmoothMouse people, this works. It improves the mouse response by 1 frame. So 1/60th of a second, by disabling v-sync or beam sync on the cursor. I can't live without it.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.