Path: utzoo!attcan!uunet!husc6!bloom-beacon!EXPO.LCS.MIT.EDU!rws From: rws@EXPO.LCS.MIT.EDU (Bob Scheifler) Newsgroups: comp.windows.x Subject: Re: Using Multiple Graphics Contexts Message-ID: <8812211301.AA00613@EXPO.LCS.MIT.EDU> Date: 21 Dec 88 13:01:34 GMT References: <26900057@m.cs.uiuc.edu> Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 25 The second speedup was to peek at the Xlib's cached GC to avoid making Xlib calls to set GC values to what they currently are. "Peeking" is not portable, the internal implementation of GCs is not part of the Xlib spec. This is because Xlib does not filter out unnecessary nonchanges to the GC. Completely wrong. The main reason Xlib does client-side caching is precisely to filter out such changes. Either you are using a very broken Xlib, or you haven't really understood what's going on in your application. Perhaps you could be more explicit about which GC values and which function calls you think don't do filtering. Perhaps you could tell us where you got your Xlib implementation. Based on our experience I would recommend using GCs to avoid GC changes and modifying the Xlib implementation to filter out the nonchanges. Of course you failed to state anything about what range of hardware platforms and server implementations you have run XGKS on, and whether the speedups were uniform across that entire range. Based on my experience with people's experience, I would recommend people go slow on this until there are more facts on the table.