[Opengc-devel] Re: First impressions and some patches.
Status: Pre-Alpha
Brought to you by:
madmartigan
From: Damion S. <dam...@ho...> - 2001-10-26 17:35:36
|
Hi.... > Again i'm not certain this went to everybody - it comes back to me ok, but > doesn't show up on the SourceForge list (and that's about 5 hours after I > posted it!). The sourceforge archive appears to update only once every 24 hours. > As it stands, OpenGC is painfully slow. The hardware I ran it on is not the <snip> > FSUIPCDataSource. In the idle function, it reads and processes the whole 15k > data block available from fsuipc, EVERY TIME! This is a major stumbling Believe it or not, this was intentional. What you're wondering now is _why_. Well, there are 3 ways of accessing FSUIPC data (here I read two variables): 1) tempvar, queue state1 read to tempvar, transfer data, tempvar, queue state2 read to tempvar, etc. 2) tempvar, queue state1 read to tempvar, tempvar2, queue state2 read to tempvar2, transfer data 3) bigtempvar, queue entire FSUIPC state to tempvar, transfer data, extract vars from bigtempvar If you think 3 is slow, 1 would have completely killed your system. I talked to Pete Dowson and it turns out that the "read" operation is relatively slow compared to the rest of FSUIPC. The reason I chose 3 over 2 was that it avoids the need to have "n" temp variables to read "n" state variables. But, if it turns out that this is a big performance hit on slower machines, I can switch to 2. On my machine the performance is quite acceptable, but there's no reason not to move to something that's better for everyone. So to clarify, what you're suggesting is to queue all desired variables (only), then perform one read operation. Will do. Thanks for the analysis. > I've also snaffled a file from the fltk library to get rid of the console > window for WIN32 release versions. Actually, there's a compiler flag to handle this too. I turned the console back on for debugging purposes, but I'd be interested in seeing the file as well. > If you don't want stuff submitted like this, just yell - always willing to > oblige :-) Actually, this is the reason the project is open-source. > By the way, I'm willing to be a fully paid up, card carrying project member > if you like. Send me an email with your sourceforge username, then you'll have CVS read/write access. > Is there a list of who's doing what so we don't tread on other peoples toes? There should be. I'll add one to the sourceforge lists. Maybe Opengc-devel-todo? Any suggestions for the name? > As a sideline I built & ran it on Linux, just to see if it would - it did! > (I did change the template bit though). Cool! What template changes did you make? Also, I'll add your patch. I'll be leaving for a business trip on Sunday so I can't gurantee I'll be around much over the next four days, but I'll get to it ASAP. Thanks for all the input, -Damion- |