home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!sdrc!thor!scjones
- From: scjones@thor.sdrc.com (Larry Jones)
- Newsgroups: comp.sys.sgi
- Subject: SGI Motif Bug
- Message-ID: <2413@sdrc.COM>
- Date: 18 Dec 92 18:32:16 GMT
- Sender: news@sdrc.COM
- Lines: 26
-
- There appears to be a bug in the text field cursor pixmap caching logic
- that SGI modified which causes a severe performance degradation under
- certain circumstances.
-
- When MakeDestCursor() and MakeIBeamCursor() in TextOut.c call
- _XmInstallPixmap() to install the just created pixmap in the cache,
- they do not pass the correct pixmap depth (I don't really read MIPS
- assembler, but it looks like they might actually be calling it with one
- too few arguments). This causes the pixmap to be installed in the
- cache with the wrong depth, so XmGetPixmapByDepth() can't ever find it
- in the cache. This results in many calls to XtResolvePathname()
- looking for the same non-existant files and thus the creation of many
- duplicate pixmaps.
-
- In my case, XtResolvePathname() is making over 2000 calls to access() by
- way of XtFindFile() and TestFile() when it should be making less than
- 10. Since the directories it's searching are on NFS filesystems on
- another machine, this takes over 4 seconds and accounts for over half of
- the wall-clock startup time (although only a miniscule fraction of the
- CPU time). I suspect that other calls to _XmInstallPixmap() may suffer
- from the same problem.
- ----
- Larry Jones, SDRC, 2000 Eastman Dr., Milford, OH 45150-2789 513-576-2070
- larry.jones@sdrc.com or ...uunet!sdrc!larry.jones
- If I was being raised in a better environment, I
- wouldn't do things like that. -- Calvin
-