In Temperance Ruin Mac OS

In Temperance Ruin Mac OS

June 02 2021

In Temperance Ruin Mac OS

RuinMac

The other day, I found an article called Disabling BeamSync: Speed Up Laptop/LCD Displays on iHac. Anyone who has been paying attention to the Ars reviews of the Intel Macs last year (such as the Mac Pro) knows that this cryptically named feature can have a large impact on performance figures. So I was curious to find out if disabling beam synchronization would actually help. Let me go ahead and ruin the ending for you: on my PowerBook running Mac OS X 10.4.9, doing some fairly casual testing, it doesn't. The interesting part is why it doesn't work, and what's behind the strange benchmark results.

It turns out that in Mac OS 10.4.0, Apple changed the way the contents of windows are drawn on the screen. The old way was for an application to draw something in a buffer in memory, and then either have the application tell the system to 'flush' the content of the buffer to the screen, or for the system to decide it was time to do so on its own. So if an application draws something in its window buffer, say, 200 times per second, Panther and its predecessors would simply copy the contents of the window to the screen 200 times per second. However, the video card only sends the screen image to the display some 60 to 100 times per second, as a result, the system is doing a lot of work copying images to the graphics card's framebuffer that will never end up on the screen anyway, because they'll be overwritten before it's time to update the display. Also, updating different windows at different intervals isn't exactly the most efficient way to accomplish the intended result.

Sennheiser PC 8 USB - Stereo USB Headset for PC and MAC with In-line Volume and Mute Control Mpow HC6 USB Headset with Microphone, Comfort-fit Office Computer Headphone, On-Ear 3.5mm Jack Call Center Headset for Cell Phone, 270 Degree Boom Mic, in-line Control with Mute for Skype, Webinar. NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.

So as of Tiger, three things happened:

  1. Window buffer flushes are 'coalesced' so that the system can handle them all at the same time.
  2. Whenever a window buffer is marked to be flushed to the screen, the application is blocked from drawing into the buffer again until the coalesced update has happened.
  3. Coalesced updates are performed after the graphics card has sent the image to the display, and before the next image is sent, so the user doesn't see the window manager's unfinished work. This means the updates are synchronized with the electron beam that paints the image on a CRT.
Advertisement

Note that, contrary to iHac's claim, graphics cards send the screen image to an LCD display in much the same way as to a CRT, so all of this applies to both CRT and LCD displays. And although Mac OS X doesn't support setting a framerate for built-in LCD displays, they do have one: 60 Hz.

This is a very clever move on Apple's part, because it makes the window manager's operation more efficient and it keeps applications from doing unnecessary work. However, there is a snag: by keeping applications from drawing to their window buffer until the display is updated, some applications may be slowed down because they can perform at most one window flush per screen refresh. For this reason, coalesced updates are turned off for applications that are compiled for a pre-Tiger version of the OS. However, for Intel Macs there are no pre-Tiger versions of the OS, with the result that an application that ties its computation to its drawing can see good performance on a PowerPC Mac and much worse performance on an Intel Mac. As of Mac OS X 10.4.4, it's possible for application writers to turn off coalesced updates to work around issues like this.

In Temperance Ruin Mac Os Catalina

It turns out that the setting mentioned in the iHac article doesn't actually turn off beam synchronization, but only coalesced updates. If you really want to turn off beam synchronization, use the Quartz Debug tool that comes with Apple's developer tools. The only test that I could find that showed a clear difference was the rather ancient test program Let1kWindowsBloom, which simply opens and closes a window 1000 times. With coalesced updates turned off, this took 32 seconds. With beam synchronization turned off, 18 seconds. Without special settings, 15 seconds. Clearly, by forcing the window manager to do more work, there's less CPU time available for the application itself, so it runs slower.

In Temperance Ruin Mac Os Download

As usual in these cases, it's best to follow Apple's guidelines and let the system worry about how and when to do things rather than to interfere.

In Temperance Ruin Mac OS

Leave a Reply

Cancel reply