home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / sgi / 18214 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  1.6 KB

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