Path: utzoo!utgpu!news-server.csri.toronto.edu!eecg.toronto.edu!drb Newsgroups: comp.sys.sgi From: drb@eecg.toronto.edu (David R. Blythe) Subject: Re: Getting compor map colors. Message-ID: <1991Apr29.020915.7092@jarvis.csri.toronto.edu> Keywords: getmcolor Organization: EECG, University of Toronto References: <1991Apr22.153229.7358@cs.ruu.nl> <80085@bu.edu.bu.edu> <1991Apr25.130848.25198@cs.ruu.nl> Date: 29 Apr 91 06:09:15 GMT Lines: 46 In article <1991Apr25.130848.25198@cs.ruu.nl> markov@cs.ruu.nl (Mark Overmars) writes: >In <80085@bu.edu.bu.edu> tjh@bucrf11.bu.edu (Tim Hall) writes: > >>In article <1991Apr22.153229.7358@cs.ruu.nl>, markov@cs.ruu.nl (Mark Overmars) writes: >>|> I have the following problem. I want to draw colormap images inside a RGB >>|> window. As a result I need to find out what the colors in the colormap are. To >>|> this end I thought I should use the routine >>|> >>|> getmcolor() >>|> >>|> Unfortunately, this routine only work when you are in colormap mode, not when >>|> you are in RGB mode. (Why?) >> >> current_window = winget(); /* Remember what the current window is */ >> >> noport(); /* Open a window that never appears */ >> color_window = winopen( NULL); >> >> Read the color map here. >> >> winclose( color_window ); >> >> if ( current_window > 0 ) /* >= ???? I forget.... */ >> winset( current_window ); > >The problem with this solution is that it is way too slow. Even keeping the >color window open and doing a winset on it whenever I need a colormap entry >slows the drawing of e.g. rectangles down by a factor of three (winset seems >to be an expensive call), at least on a GTX. On a 25/TG there was almost no >speed penalty (????). What I do now is to keep my own colormap and reading it in >only once. Of course, in this way I don't see it when the application changes >the colormap but it works fast. (Strangely enough, doing this on a 25/TG was >faster than drawing normal in colormap mode.) > >Mark Overmars I saw a performance posting a couple of weeks ago that showed wildly varying performance with colormap manipulation across the various platforms, I think the PI was faster than the GT (then again maybe not). I think the keeping the window open solution should get even faster as the pressure to have cheap (X-like) windows is answered (in 4.0?). On the other hand, having a window manager color map changed event also would be handy and is probably necessary for total X'ness anyway ... -drb