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