This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
Re: Xfree86 is slow! with software like MATLAB
- From: Harold L Hunt II <huntharo at msu dot edu>
- To: cygwin-xfree at cygwin dot com
- Date: Thu, 25 Sep 2003 17:17:00 -0400
- Subject: Re: Xfree86 is slow! with software like MATLAB
- References: <3F73E8E5.22398.89B8A2E9@localhost>
- Reply-to: cygwin-xfree at cygwin dot com
Gavin,
I forgot to mention something that is becoming apparent now:
Matlab may be using OpenGL, which is implemented in software in
Cygwin/XFree86. Thus, OpenGL is extremely slow in Cygwin/XFree86. Some
of the commercial X Servers for Windows have an accelerated
implementation of OpenGL that basically passes off the calls to the
Win32 OpenGL layer. This was also implemented in X on X (XFree86 for
Mac OS X), so a reference implementation is available if someone wanted
to look into doing this.
So, are the fast apps non-OpenGL and the slow apps OpenGL?
Harold
g.macaulay@niwa.co.nz wrote:
Harold & Mark,
To contribute to the discussion:
I see the same problem when running Matlab. In my case Matlab is run on a
Compaq/HP Tru64 computer with the GUI displayed on my Windows PC running
cygwin/xfree in multiwindow mode. I also have a commercial X server (xwin32)
available on my PC. Display of Matlab graphics, or even updating of the icons
in Matlab window menubar are considerably slower when running via cygwin/xfree -
the graphics benchmarks that Matlab provide run approximately 100 times slower
under cygwin/xfree than under xwin32. Trials of other commercial X servers
indicated that some are slow and some are quick, probably due to the reason
given by Harold.
An in-house, graphically intensive, X program run under the same setup as above
does not show such a marked difference. One point of difference is that the
Matlab GUI is written entirely in Java, while the other program uses GTK.
Regards
Gavin
On 24 Sep 2003 at 22:27, Harold L Hunt II wrote:
Mark,
Using the default -multiwindow mode (with the integrated window manager)
is slower than all of the other modes.
You can run XWin from startxwin.bat instead with:
XWin -rootless
Then you need to start a window manager like 'twm':
run twm
Cygwin/XFree86 works by drawing to an offscreen framebuffer (using the
primary CPU), then transferring updated portions of the offscreen
framebuffer to the screen. Work has begun, and is also essentially
stalled, on the "Native GDI" engine for Cygwin/XFree86 that translates
each X graphics call to a GDI graphics call; this has the advantage of
utilizing the power of the graphics processing unit (GPU). Exceed and
possibly other commercial X Servers do something similar to the Native
GDI engine and are thus faster.
On a side note, the speed of your graphics card and the quality of its
drivers are very important for the performance of Cygwin/XFree86. A two
or three year old ATI or NVIDIA PCI (AGP is better) graphics card will
be substantially faster than a 5 year old PCI graphics card from a
no-name vendor. On the other hand, I use a 5 year old Diamond PCI
graphics card and it works just fine.
That's about it.
Harold
Mark Jones wrote:
I have tried using XFree86 (linux and cygwin) for Cygwin's XFree86 and
Linux's XFree86 and have found it to be extremely slow at refreshing the
screen making it nearly impossible to use MATLAB's editor reasonably.
However, using a MS Windows emulator like Xoftware or Hummingbird's Exceed
provides extremely fast response such that it is useable with various programs
including MATLAB. Is there a valid reason for this? Is it being addressed?
Thanks,
Mark