OS X: Disable your v-sync


This post falls under the heading of "maybe not the single greatest idea in the world, but perhaps not the worst either." As we all know, Apple, in its infinite wisdom put some (ok, lots of) extra eye candy into OS X when it leaped from 10.4 to 10.5, and as a result you and all your loved ones took a graphics hit moving from Tiger to Leopard. Many argue the hit is minimal, and Leopard has so much more software and hardware compatibility that is more than worth it, a sentiment to which I firmly adhere. I do miss Classic, but otherwise Leopard...rocks. On x86 Linux I got used to doing all kinds of tweaks to get better video performance out of older machines, and one of the main ways was to set the v-sync to blank. Usually this was achieved by clicking a box deep within the bowels of compiz or editing a metacity preference file in nano. I'm no expert, but on LCD monitors I've read the benefits afforded by v-sync are pretty much a non issue. Lets face it, not many people are sitting in front of CRT's in 2013. If I've just deeply insulted Al in Syracuse, who is still in love with his 21inch ViewSonic purchased for $1500 (no, for real) from MacMall back in 1997, I apologize.

Honestly I never knew this tweak was possible in OS X. I thought Apple just locked all of that graphics stuff down tight to keep it away from those pesky end users. Then I stumbled upon a youtube video from a fellow PowerPC enthusiast, which sadly now seems to have been taken down or I'd post a link to it for reference. He had a bunch of good tips for improving graphics performance, most of which are well known, like using a 2-D instead of a 3-D dock, etc, etc. I was just about to stop watching when he showed viewers how to disable v-sync, and that caught my attention.

In order to perform this maneuver safely you'll need to have Xcode installed. If you don't have it its a free download from Apple, you will have to register as a developer and then sign over your first born child for ritual sacrifice, but once that's done its just a 300 MB download. You'll need an older version of Xcode, 3.3.1, as the newer ones are naturally Intel only. It is possible to do this in Text Edit, but personally I lack the intestinal fortitude to do so, see..I once hosed a Panther install fiddling around with a preference file in Text Edit. Xcode makes this simple, and for reasons probably only in my head it feels much safer.

What you want to do is go to your Hard Drive and open up the Library folder, then the Preferences folder. What you are looking for is com.apple.windowserver.plist, right click on that file, if you have Xcode you'll have the Property List Editor as an option, and open it with that. Now under Compositor look for "deferred updates" and set that to zero. Congratulations, you have just set your v-sync to blank on 10.5. There are some other settings which some turn off in there relating to Quartz Extreme and OpenGL but personally, I left those well enough alone.

Now anytime one fools around with system files, especially com.apple.plist's, bad things can happen. So, readers beware, and exercise all due caution. I followed the above steps and nothing bad happened, and, upon reboot I noted some definite improvements in overall window snappiness (such a technical term). Dock minimizations, even the hated "genie" effect were now lightning quick. The vicious tear I had passing my cursor over the dock in 3-D mode was also gone. Personally I use the 2-D dock so it wasn't a huge win for me, but overall this was a satisfying tweak.

On PowerPC OS X in 2013 its all about them little victories.

31 comments:

  1. Rather than fiddle with Xcode or Text Edit, use Pref Setter:

    http://www.macupdate.com/app/mac/17002/pref-setter

    ReplyDelete
    Replies
    1. I have a lot more faith in Apple code doing OS X pref edits than some third party app that is 5 years old.

      Not everyone prefers the spoon fed easy way . I personally prefer whatever way is proven and can always be counted on. Whether it's more difficult or not.

      People who use little utilities like this for everything are ignorant to built in abilities and end up with app folders that have 100+ items.

      Trust me, dr.dave... you're doing it the right way.

      Delete
    2. Sure, fine, whatever. But if you are using Tiger or Leopard on a PowerPC, then there ain't no way around using a 5 year old app, as the OS itself is over 5 years old. Kinda wonky thinking there, zen.

      Sometimes the easy way is better for the n00bs. Or maybe they don't want to sign up for an Apple Developer membership to download a 5 year old version of Xcode for their Tiger or Leopard install because why give Apple any more personal info that they can leave exposed at some point in the future.

      So, go ahead and churn your butter by hand, pick your eggs from hens you've raised yourself, and screw with the plist files with Text Edit. You will inspire us with your manliness and personal attacks on those who chose a different path.

      Delete
    3. This blog is hardly for noobs in the first place so why would you expect that approach here is puzzling. People who automatically look for the easiest way to compute are the ones that are locked into a lifetime of Mac OS and Windows because they have no other abilities but what the pointy clicky gods serve them on a spoon. This ideology is not welcome here.

      The fact that you equate the OS age to my mention of the 3rd party app shows how linear you think. The point is that xcode and text edit are built by the same company with the same code standards. A 3rd party utility like the one you linked to would not even have access to any of Apple's source code to even know how compliant it is in it's "edit's.

      Don't ever expect this blog to suit your easy way is best mentality. If you do you're just setting yourself up to be disappointed. The mindless fanboy powered blogs would likely suit you better.

      You also seem to equate the harder way to equal primitive practices like churning butter. The harder way is almost always the truly correct way and it also teaches legitimate skills. The devolved people are the ones that dumb down their own computing ability by always choosing the easier way.

      Honestly, an ape could compute at the same level or higher than the average consumer these days. People with your mentality do nothing but enforce that devolution.

      Delete
    4. You know what, zen? I apologize. After getting up to speed on your history with video & PowerPC macs, it's clear you really know your stuff. Your posts on macrumors are clear, precise, and on target with good advice. Sorry I came across as a douche.

      Delete
    5. I have not written anything on MR since just before I started this blog last Aug. Being banned for simply being honest to the fakers and such was the best thing for me.

      You really should concentrate more on the writing here than old forum posts because I go into more detail here. I also don't have to follow any rules here but my own.

      I am quite used to people having issue with me simply for my direct ways which are often mistaken for rudeness. All I ever want to push are proven methods and extreme efficiency in computing along with security.

      You didn't come across as a douche at all. More like a typical user that wanted the easiest method even if it wasn't the best. That is extremely normal.

      This is all done in the spirit of sound information which comes from decades of real world, first hand experience. I always tend to get a sharper temper when it comes to easy way out, non-advancment methods and any type of promotion on passenger seat computing.

      Thanks for your kind words.

      Delete
  2. I think I know of the video dr.dave was talking about, I think it was entitled "Life with my PowerBook G4" or something, and he told how to do this tweak as well. Unfortunately, the video seems to have gone missing.
    Anyway, nice tip!

    ReplyDelete
    Replies
    1. VVV, see the comment below, its been found. Youtube username is Carlheanerd.

      Delete
  3. I can only find 3.1.4 as the latest update for Leopard and it's 900Mb, am I right?

    ReplyDelete
    Replies
    1. 3.1.4 is the last version with PowerPC support. So yes it's the right version. The size sounds about right also.

      Maybe once you get Xcode setup you should also consider installing MacPorts which will allow you to use Xcode to compile open source software for Mac OS PowerPC.

      Or you could do it the mwschmeer way and do whatever requires the least thinking, ability and effort. NOT!

      Delete
    2. Jajaja, you know you're my captain here zen but please do not make me backstab my deck mates!

      I choose these complex ways because I like learning, trying, testing (machines and myself) and, why not, because I feel better someway. Besides, as you well say, it's the only way to develop your own technical instinct and knowledge.

      Apps are great but sometimes apps are just not available and then, what can you do if you never tried other methods? On the other hand, you can always go back to apps if you don't manage to solve the deal step by step...

      If you've got the time, mwschmeer, do it the spicy way! (all due respect)

      Thanks for the MacPorts suggestion, I'll see what it brings.

      Cheers, prost...salud camaradas!

      Delete
  4. I see no Compositor and no "deferred updates"...only CGSinterocitor and Display Sets.

    ReplyDelete
    Replies
    1. LuisMadrid,what kind of mac are you on? The only macs I've tried this on are an ibook G4 and a Powerbook G4,so this might not work with other models...

      Delete
    2. OSX 10.5.8 iBook G4 1.33MHz 1.25Gb ATI 32Mb

      Delete
  5. For reference, the video dr. dave was talking about is here: https://www.youtube.com/watch?v=tzssXQpK_ig

    ReplyDelete
    Replies
    1. Nathan, thanks, I could not, for the life of me find that video when I went looking for it again, and full credit to CarlHeanerd for showing us how to do this....

      Delete
    2. Yeah. I didn't know what happened to it either. The only way I found it at all was by googling "Carlheanerd PowerPC". It was embedded on some obscure SEO site (as in, a blog about SEO). By the way, I can't find where the com.apple.windowserver.plist file is. It just isn't there! I mean, if my Leopard install had no windowserver.plist, than it wouldn't work, so it's there somewhere. It goes right from com.apple.TimeMachine.plist to com.apple.xgrid.agent.plist. Was there a step I missed? Do I need to unhide a file or something? I posted this as a comment on that video months ago but never got a response, so I hope the people here are more knowledgeable. If it helps, the Leopard I'm running right now is made from a sparseimage (converted to a .DMG on my iBook, converted to an ISO and burned on my PC), since my iBook doesn't have a dual-layer DVD drive.

      Delete
    3. That occured to me yesterday: first, no way to find it; then, magically, it was there after installing Xcode (can't find the connection). But...it was not the way you all described this file when it comes to edit it, as I said in my last post.

      So I decided to use for the first time my TimeMachine and backup to a fresh 10.5.8 install and from there try again. Guessed one of these apps you use and dispose could have 'touched' this file, but not so sure.

      What I find now is that the file is not there, again. I'd love to attach an image capture. No trace of it...so once Spotlight stops busting my balls with the indexing I'll install Xcode and see what comes, if it comes.

      Any reasonable cause?

      The video is nice but in the most important step he doesn't zoom enough!

      Just kidding

      Delete
  6. Confirmed, no trace of windowserver.plist in my Library...

    ReplyDelete
  7. I'm not sure if this is publishable but here is my com.windowserver.plist Text Edit version. Looks too simple to me, like if it would have been reduced to the minimun but usable version.

    By the way, if, like in my case, your file had vanished, just make a change in some display-related app and it will magically reappear.

    So: I just don't have the option to modify deferredupdates, no Compositor, nothing but some basic size and axis numbers.






    CGSInterocitorSelectMode
    0
    DisplaySets



    Active
    1
    Depth
    4
    DisplayID
    69668864
    DisplayProductID
    40000
    DisplaySerialNumber
    0
    DisplayVendorID
    1552
    Height
    768
    IODisplayLocation
    IOService:/MacRISC2PE/pci@f0000000/AppleMacRiscAGP/ATY,ViaParent@10/ATY,Via_A@0/.Display_DualHead/display0/AppleBacklightDisplay
    IOFlags
    7
    IsStereo

    MirrorID
    0
    Mirrored
    0
    Mode
    2
    OriginX
    0
    OriginY
    0
    RefreshRate16.16
    0
    Rotation
    0
    StereoBlueLineSync

    Unit
    0
    UnmirroredHeight
    768
    UnmirroredMode
    2
    UnmirroredOriginX
    0
    UnmirroredOriginY
    0
    UnmirroredWidth
    1024
    Width
    1024





    ReplyDelete
    Replies
    1. I got the same thing as LuisMadrid. I hope someone knows what happened. If it helps, my iBook is the Late 2004 model (http://www.everymac.com/systems/apple/ibook/specs/ibook_g4_1.2_12.html).

      Delete
  8. If I could add Compositor function to my plist file it'll do it, cause I guess the rest of my file is correct. Has to be. I've noticed some people delete Compositor from windowserver.plist so it might be possible to activate it as well...could be?

    Do you people know anything new about this thread?

    ReplyDelete
  9. Well...it's fixed.

    This Terminal command sets deferredUpdates to 0 and, by the way, creates Compositor folder into windowserver.plist, so you can edit it from then on:

    sudo defaults write /Library/Preferences/com.apple.windowserver Compositor -dict deferredUpdates 0

    Make sure it's modified after restarting.

    I also found a command to enable/disable QuartzGL (more info needed here):

    sudo defaults write /Library/Preferences/com.apple.windowserver QuartzGLEnabled -boolean YES

    So Nathan, there you are.

    I'd like to thank this blog, I found all this info there.

    http://www.myapplespace.com/blog/view/22674/making-leopard-as-snappy-as-tiger-without-removing-anything

    I also found some tips to play H.264.

    The question is why some computers do have this Compositor included by default and some don't. It seems this plist files are quite easy to modify so, maybe, just an extra command in installation process makes the difference. I think we all update to 5.8 using SU and this command is not included there but it is or not (as in my case), in the different versions we use for a fresh install. Mine is plain 10.5. Could this be the reason?

    ReplyDelete
  10. And yeah...pretty smooth results!

    ReplyDelete
  11. @LuisMadrid sorry you had such a hard time finding the com.windowserver.plist file, just as it was in CarlHeanerds video it was right there in the Library on my ibook G4 and my friends Powerbook G4, but I am glad you have gotten the good results I also achieved.

    Thanks for also detailing all your actions, that will help others in the future I am sure. Great blog find too, some very good tips there.

    ReplyDelete
  12. Yes, it's a tiny but helpful bastion of PPC information.

    Detailing is important, some times when you're new in some business, a missing detail might put you off even being pretty close to success (and you didn't know it...).

    I was wondering, yes, if those plist could be sharable. Looks like.

    ReplyDelete
  13. Hey I have powerbook g4 12'' and i love it. I wanted to try that ''trick'' but seems that I dont have that com.apple.windowserver.plist... I have checked the preferences many time and its just not there. :/

    ReplyDelete
    Replies
    1. Update: I got it to work! Thanks alot. Feels much more smoothier than before and also now youtube plays videos smoothier too. :) Thanks so much one more time!

      Delete
  14. Ok, so... I read all of the comments here, and I also went to this website mentioned by LuisMadrid above:

    http://www.myapplespace.com/blog/view/22674/making-leopard-as-snappy-as-tiger-without-removing-anything

    But...the guy at the myapplespace blog suggests using commands in Terminal to accomplish disabling the VSync (or BeamSync as he also calls it). He only mentions using Xcode as a way of disabling it --temporarily--. He doesn't mention using TextEdit at all.

    Now I'm really confused: Are we all talking about the same thing here? Can what Dr. Dave suggests, using Xcode, also be accomplished by using Terminal? If so, then it seems to me that Terminal would be the easiest method.

    ReplyDelete
    Replies
    1. As a BSD user since the 80's I use the Terminal as much as possible and would in this situation also. This is dr.dave's article though so I didn't want to undermine him. The methods he mentions are 100% accurate and safe but the Terminal is a much more direct method.

      Yes using the terminal is much easier and I use it myself to disable v-sync but the method dr.dave describes also gives a tad more capability, along with adding xcode which gives you added abilities on any Mac.

      As for the info at the link Luis provided... I personally would not recommend enabling QuartzGL because it hinders a lot more than it helps. There was a reason Apple never made it a default feature.

      Delete
  15. I have used terminal to disable vsync not on leopard but on tiger with DP 1.42MDD with a non-CI card. When I read back the file (com.apple.windowserver.plist) thru Plist Editor, the variable was not a number as with leopard, the variable is read as string on tiger. Is it correct? I was hoping that I can improve somewhat the experience on tiger.

    ReplyDelete