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