[Xquartz-dev] hi, and a few opening questions
paul at linuxaudiosystems.com
Sat Feb 16 11:14:32 PST 2008
On Sat, 2008-02-16 at 10:51 -0800, Jeremy Huddleston wrote:
> Hi Paul,
> This is a rather loaded question you're asking. Firstly regarding the
> native vs X11 performance issues. You might want to speak with folks
> at OpenOffice.org as I recall them mentioning this as well. Perhaps
> they may have some suggestions for tweaking your native build.
Well, since I'm one of the most active developers of the gtk/osx port
right now, I think you can assume I have my hands pretty deep in the
mess :) And when I say "deep", I mean right inside the window redraw
cycle at the intersection of Quartz/Cocoa and GDK. My codebase actual
contains a bunch of patches that we hope will get into gtk/osx
eventually, since they dramatically improve performance already :)
>From what I can tell, the speed issues really are in Cocoa. And it
struck me that when I survey the landscape of other apps that have the
kind of GUI requirements that Ardour does, I don't know of a single one
that was written with Cocoa. Most modern apps in my domain are tending
to use openGL for x-platform purposes. The legacy apps are using Carbon
because ... well, they're legacy apps ;) Shark gives me some pretty
clear indications that the use of Cocoa inside the window update process
is a killer.
> XQuartz itself is just an X server. Most of the functionality you
> mention in the last paragraph is specific to the session manager or
> window manager (quartz-wm in out case) and has not been implemented.
> That being said, I very much hope that one day we will be able to have
> drag-and-drop between X and native apps, better integrated clipboard
> support, etc. There are just many more pressing issues before we can
> tackle this one. The menu bar feature is the one that I least expect
> to ever be supported.
OK, thanks for the info. Just as a point of reference, the old "3rd
party" X server for OS X (Ouroborous) had both these items (DnD,
menubar). It had a number of other nice features too - at least on
paper; I never actually tried running it. I understand that the menubar
thing is tricky - all the solutions I've actually seen at work are all
X11-toolkit specific, and map a native menu onto the Carbon "main menu".
Since X11 has no concept of a menu, its clear that its hard to integrate
this at that level.
As a point of interest, given my quick grep through the xquartz code the
other day: how *is* xquartz drawing the screen? Does it go via
CoreGraphics/Quartz, or does it undercut that in some way? Does it blit
an rgba buffer to the display, or actually use CG calls for more stuff?
grep suggested to me that almost no CG calls are to be found inside the
server source tree ....
More information about the Xquartz-dev