Slow graphics and no libSM.a

Mark Manning
Tue Apr 15 02:39:00 GMT 2003

I downloaded and burned three CDs with cygwin on it.  Then I installed 
Cygwin onto my computer (the November release).  After installation I 
found (as before) that I could not compile my programs from Linux. 
 These programs are really fairly simple but they make two types of 
calls: 1) X-Window Graphics, and 2)Calls to the "system" function.  The 
errors received were all about "_Smsxxxx" functions.  After some 
research, I learned that libXt.a was attempting to call libSM.a.  After 
looking for libSM.a I found that the size of the library was zero (0). 
 Obviously the library had not been installed for some reason.  I 
thought that I needed to download and re-install the library but upon 
going through the zip files I found libSM.a and it was complete!

So the question is - why did it install as a zero length file?

Onwards: After correcting the above problem I then found that my 
programs also needed the libICE.a library.  After adding these two 
libraries to the call line everything compiled.  That was when I ran 
into the second problem.  But let me digress for a moment.  I was 
running everything on a 200mhz Macintosh at first (SUSE Linux) but in 
2001 I purchased an 850mhz IBM PC clone.  I ran standard RedHat Linux on 
that machine and everything was great.  I even downloaded and installed 
Cygwin on it and that is where I first ran into the above problem with 
libSM.a (but could not figure out the problem at the time).  I recently 
purchased a 3.0GHz IBM PC clone and, because it is almost four times the 
speed of the 850mhz system - I thought things would go a bit faster. 
 (Now back to the second problem.)  However, once the programs were 
compiled and I began running them I was amazed to see that I could 
actually watch each dot being drawn on the screen.

So the second question is - any ideas why it is going so slow?

I know that Cygwin (last time I read the FAQ and bug reports) does not 
use hardware acceleration but this stuff is rather trivial.  I'm talking 
about drawing a grid on a black background here - not Quake.  The only 
thing I can think of is that I am using XmUpdateDisplay every time I 
draw one of the rectangles on the screen.  Granted I could draw 
everything and then just display the screen once but that would defeat 
the purpose of the game.  (Which is to simply attempt to click on the 
rectangles as they appear.)  It could also be that I am filling up the 
graphics pipeline or something along those lines.  But I didn't think 
drawing simple rectangles could do that to X Windows (and it doesn't 
under Linux).  Am I doomed not to be able to do this under Cygwin?  I 
was hoping otherwise (as then I could do Windows and Linux development 
at the same time).  Please write and let me know.  Thanks!

Mark Manning

More information about the Cygwin-xfree mailing list