This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Xfree86 is slow! with software like MATLAB


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







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]