Slow graphics and no libSM.a
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!
More information about the Cygwin-xfree