performance issues with Apple X11 beta
performance issues with Apple X11 beta
- Subject: performance issues with Apple X11 beta
- From: Steven Langer <email@hidden>
- Date: Fri, 16 May 2003 13:15:41 -0700
Please accept my apologies for the prologue, but it is clear from the
comments made on this mailing list that some of the audience comes
from a non-X11 background, so I decided to try and establish a
context for my questions.
I have been testing Apple's X11 server with an open source scientific
visualization app called yorick. yorick can run either on the desktop
computer or on a remote computer. Because remote use was a design
requirement (our data sets are often too large to download to a
desktop computer), yorick was designed to use X11. With this design
we can send both 2D graphics (normal X11) and 3D graphics (glx, which
means OpenGL commands sent across an X11 connection) across the
network.
Yorick has run for years on various Unix systems (Solaris, Linux,
SGI, IBM, etc.). Yorick runs on Windows and there is a version for OS
9, but those versions don't have the cross network capability because
they are based on the native windowing system, not X11. To get the
cross network capability on Macs and Windows, we have traditionally
used a commercial X11 server (I mostly use Exodus on a Mac or Exceed
on Windows, but there are a number of other choices).
OS X is a very interesting from the perspective of yorick developers.
We can take the Unix source code and build it on OS X with
essentially no changes, provided an X11 server is installed. This
means we don't need to port to Aqua, which is a great time savings.
The problem is that yorick needs high graphics performance to work
well. The original XDarwin didn't have hardware acceleration, but the
cross-network 2D and 3D applications I tested worked correctly.
We were pleased when Apple announced an X11 server with hardware
acceleration. Our enthusiasm cooled considerably after we tested the
server (everything I mention here applies to beta 3, but earlier
betas were similar). When doing cross-network X11, it seems to drop
something like 80% of the frames (yorick is sending graphics commands
out as fast as it can). I can see no evidence that glx works at all
in cross-network mode.
When I run yorick locally, the 2D performance is adequate, but slower
than any Linux system I have tried in the last several years. When I
run 3D tests locally, I get 100 to 200 thousand (small) triangles per
second. I can get several times that on a Linux system with hardware
rendering turned off!! With a 2 GHz Pentium 4 and a $200 graphics
card, I can get 7 million triangles per second under Linux when
running the same test.
When I first saw this poor performance, I assumed that some peculiar
initialization step was required to enable hardware acceleration. I
searched Apple's web site (and had google search the Internet) to see
if I could find an example of a glx application that got good
performance on OS X. I didn't find anything. The other day I decided
to try a test that uses 3D textures, an advanced feature of OpenGL.
This is terribly slow on a PC without hardware acceleration, but it
actually performs decently under OS X. I think that means 3D textures
are hardware accelerated by Apple's X11 server.
I am pretty much at a loss as to how to proceed. Does anyone have a
3D application that uses Apple's X11 server and gets within a factor
of a few of the performance of an inexpensive Linux system? If so, I
would be very interested in how you create your windows.
Does anyone know if Apple has any plans to make cross-network X11 or
glx work correctly?
Thanks,
Steve Langer
_______________________________________________
x11-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/x11-users
X11 for Mac OS X FAQ: http://developer.apple.com/qa/qa2001/qa1232.html
Report issues, request features, feedback: http://developer.apple.com/bugreporter
Do not post admin requests to the list. They will be ignored.