Xfree86 is slow! with software like MATLAB

Harold L Hunt II huntharo@msu.edu
Thu Sep 25 21:17:00 GMT 2003


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
>>>
>>
>>
> 
> 



More information about the Cygwin-xfree mailing list