2008-01-09, 12:03 AM
Today I'm officially taking off from my memory management investigations. I need to catch up on some sleep.
But I'd like to toss some comments out there to get a feel if what I'm seeing is normal and can be ignored, or a cause for concern.
sub: I'm seeing several (and by 'several' I mean 'tens of thousands') undisposed instances of System.Windows.Forms.WindowsFormSynchronizationContext objects. About 60 a second. They are being destroyed and collected in gc0, but are ending up in the "undisposed" column. They don't seem to be taking up much space, but there sure is an awful lot of them! Is this normal?
Anybody: There are a number of bitmaps and associated graphics objects (System.Drawing.Bitmap, .Graphics, and .StringFormat most notably) that are also ending up as undisposed. Undisposed bitmaps goes up sharply if I wiggle the mouse around while a popup is active. The same behaviour does not occur if there is no popup going. There is an increase in Private Bytes associated with this wiggling, although it's difficult to get a precise handle on how many. Call it, roughly, 150,000 bytes per two second wiggle session.
A G2 collect doesn't collect them, which I'd expect.
Opening and closing a popup with no controls, just a "PopupBackground" Placement, leads to precisely one undisposed bitmap, again with an associated increase in private bytes.
Again, maybe this normal and I'm chasing down the wrong tree (to shamelessly mix metaphors), but it's suspicious enough for me to bring it up here for others to consider. Should I, somehow, be disposing of the "PopupBackgroud" bitmap somewhere?
JavaWiz: I did find one memory leak in your UiTools, but, honestly, I don't think it would account for much more than a few dozen bytes, so I'm not especially panicking over it.
But I'd like to toss some comments out there to get a feel if what I'm seeing is normal and can be ignored, or a cause for concern.
sub: I'm seeing several (and by 'several' I mean 'tens of thousands') undisposed instances of System.Windows.Forms.WindowsFormSynchronizationContext objects. About 60 a second. They are being destroyed and collected in gc0, but are ending up in the "undisposed" column. They don't seem to be taking up much space, but there sure is an awful lot of them! Is this normal?
Anybody: There are a number of bitmaps and associated graphics objects (System.Drawing.Bitmap, .Graphics, and .StringFormat most notably) that are also ending up as undisposed. Undisposed bitmaps goes up sharply if I wiggle the mouse around while a popup is active. The same behaviour does not occur if there is no popup going. There is an increase in Private Bytes associated with this wiggling, although it's difficult to get a precise handle on how many. Call it, roughly, 150,000 bytes per two second wiggle session.
A G2 collect doesn't collect them, which I'd expect.
Opening and closing a popup with no controls, just a "PopupBackground" Placement, leads to precisely one undisposed bitmap, again with an associated increase in private bytes.
Again, maybe this normal and I'm chasing down the wrong tree (to shamelessly mix metaphors), but it's suspicious enough for me to bring it up here for others to consider. Should I, somehow, be disposing of the "PopupBackgroud" bitmap somewhere?
JavaWiz: I did find one memory leak in your UiTools, but, honestly, I don't think it would account for much more than a few dozen bytes, so I'm not especially panicking over it.