Closed Bug 73233 Opened 23 years ago Closed 23 years ago

xmon shows new imagelib does too many PutImage requests

Categories

(Core :: Graphics: ImageLib, defect)

x86
Linux
defect
Not set
normal

Tracking

()

VERIFIED INVALID
mozilla1.0

People

(Reporter: tomi.leppikangas, Assigned: pavlov)

References

Details

(Whiteboard: [imglib])

I profiled nightly build and my own build with --enable-libpr0n and
compared results.

Below is call counts from new imglib, and left is count from
old (only different numbers shown) Both runs just open about:blank.

old  new   call name
---+-----+-----------------
     29    CreateWindow  
     90    ChangeWindowAttributes  
      1    GetWindowAttributes  
      7    DestroyWindow  
     30    MapWindow  
     10    UnmapWindow  
     70    ConfigureWindow  
      4    GetGeometry  
      3    QueryTree  
     31    InternAtom  
      1    GetAtomName  
     86    ChangeProperty  
      5    GetProperty  
      1    GetSelectionOwner  
      1    ConvertSelection  
      1    SendEvent  
      3    TranslateCoordinates  
      2    GetInputFocus  
      4    OpenFont  
      3    QueryFont  
      8    ListFonts  
     55    CreatePixmap  
      8    FreePixmap  
     62    CreateGC  
87   79    ChangeGC  
     18    CopyGC  
47   45    SetClipRectangles  
     13    FreeGC  
96   74    CopyArea  
    162    PolySegment  
     91    PolyFillRectangle  
64  337    PutImage  **********
     42    PolyText8  
      4    CreateGlyphCursor  
      4    FreeCursor  
      4    QueryExtension  
      1    GetKeyboardControl
This is wierd, i tryed  in other machine, and there both
old and new showed only 19 PutImage requests. I think it could
be different gtk version, first machine have 1.2.5 and
newer machine have 1.2.8.

I debugged little setting breakpoint to XPutImage, and in gtk 1.2.5
it shows lots of stacktraces like this:

#0  0x40a035b5 in XPutImage () from /usr/X11R6/lib/libX11.so.6
#1  0x4099652d in gdk_image_put_normal () from /usr/lib/libgdk-1.2.so.0
#2  0x4098ed63 in gdk_draw_image () from /usr/lib/libgdk-1.2.so.0
#3  0x4099c665 in gdk_draw_rgb_image_core () from /usr/lib/libgdk-1.2.so.0
#4  0x4099c797 in gdk_draw_rgb_image_dithalign () from /usr/lib/libgdk-1.2.so.0
#5  0x40fbf0b8 in nsImageGTK::ImageUpdated (this=0x42251c40, aContext=0x0,
    aFlags=2 '\002', aUpdateRect=0xbffff008)
    at ../../../../gfx/src/gtk/nsImageGTK.cpp:334
#6  0x41f5b0bc in gfxImageFrame::SetImageData (this=0x42251bb0, aData=0x4224d5d0
    "", aLength=36, aOffset=0) at ../../../gfx2/src/gfxImageFrame.cpp:240

So looks like every nsImageGTK::ImageUpdated does XPutImage with gtk 1.2.5.
Maybe this is just gtk bug? 
Blocks: 66967
Whiteboard: [imglib]
Target Milestone: --- → mozilla1.0
The important difference between your two machines might be
XFree86 4.x vs 3.x, rather than GTK versions.  XFree86 v4.x
does its own behind-the-scenes coalescing of repaints, which
might explain the lower PutImage count.
Ok, now i get this. Other machine is over network, so it doesnt use shm,
and that why so many PutImage requests. Stypid me.
Marking this as invalid.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → INVALID
Verified Invalid
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.