Kernel scheduling algorithm and X.Org performance

Torrey Lyons torrey at mrcla.com
Thu Sep 1 12:55:20 PDT 2005


At 12:50 PM +1000 9/1/05, Benjamin Herrenschmidt wrote:
>  > Aqua's window model is almost exactly like X's model under Composite.  All
>>  windows are rendered to offscreen surfaces and the actual rendering process
>>  is governed by a compmgr.  They don't have a window hierarchy so 
>>they have it
>>  a little simpler.
>
>Yes, but the rendering inside the offscreen surface is done by the
>server or by direct rendering from the application context ? Carbon
>QuickDraw direct renders in the offscreen afaik, not sure about more
>advanced stuff.

A good summary of how Mac OS X's 2D drawing model works and has 
evolved from Mac OS X 10.0 to 10.4 is at 
<http://arstechnica.com/reviews/os/macosx-10.4.ars/14>. Quartz 2D 
Extreme, which is new to Mac OS X 10.4, cache's window backing stores 
in VRAM and does the drawing to these surfaces from the GPU. Only 
primitive drawing commands are sent between the CPU and the video 
card. Of course, there are lots of caveats to this picture, the 
biggest of which is that this behavior is not on by default due to 
some poor practices application developers have used in the past. The 
other caveat is that XDarwin does not use this model since X drawing 
primitives don't map well to Quartz drawing primitives. In any case, 
with the release of Mac OS X 10.4, Apple has announced that QuickDraw 
is now deprecated.

Another point about Quartz 2D Extreme that is related to other recent 
debates is that the "drawing commands" sent from the CPU to the video 
card are actually OpenGL commands. In principle on Mac OS X 10.4 all 
types of drawing are done with OpenGL.

--Torrey



More information about the xorg mailing list