I posted this earlier in the framework.windowsforms newsgroup, but in light
of our deadline and the fact that this is very likely a performance-related
issue, I'm looking for clues here as to what may be possible causes for slow
window dragging. Our app is a skinned app, and until recently had no issues
being dragged around the screen. We've used any number of methods for
dragging (currently using SendMessage(handle, WM_NCLBUTTONDOWN, NTCAPTION,
0)) but since all methods show the same problem, we're sure the cause is
unrelated. On some machines dragging the app around is completely normal, on
others it's extremely slow, though sometimes, if left sitting, it suddenly
drags normally, as if garbage collection did it's thing and set things back
to normal.
Additionally, if the app is, for example, dragged to the bottom of the
screen so much that only the top 40% or so is visible, dragging is at normal
speed so long as the percentage of the app that is visible doesn't increase
above that 40%.
Given that, is anyone aware of any .net vulnerabilities, or typical coding
mistakes, that we should focus on to get past this?
(fwiw- all the app's CreateGraphics are indeed followed by Dispose()).
Thanks much,
Eddie
Eddie Berman - 24 Jul 2004 22:00 GMT
(Just fixing the title).
> I posted this earlier in the framework.windowsforms newsgroup, but in light
> of our deadline and the fact that this is very likely a performance-related
[quoted text clipped - 18 lines]
> Thanks much,
> Eddie
Lloyd Dupont - 27 Jul 2004 04:13 GMT
it looks like your app paint slowly ...
> (Just fixing the title).
>
[quoted text clipped - 28 lines]
> > Thanks much,
> > Eddie
Eddie Berman - 28 Jul 2004 04:48 GMT
Actually, it turns out it's due to Opacity. I'm not sure how consistently
this behavior can be reproduced on other XP machines, but on our Dell
Latitude C640, with ATI 7500 video card (should that be of consequence),
creating the simplist C# app with an Opacity setting less that 1 will create
the problem. As you resize the app to a typical size, the draggings get
unbearably slow. This is a .dot net issue that I've yet to read about.
-Eddie
> it looks like your app paint slowly ...
>
[quoted text clipped - 34 lines]
> > > Thanks much,
> > > Eddie
Lloyd Dupont - 30 Jul 2004 05:29 GMT
ho well, I see....
GDI and windowing is many years old and opacity was a quick but not really
optimized things.
when you set an opacity less than 1, you'll paint message on all windows,
including those below yours send with each paint message, highly unefficient
...
it should be better with longhorn!
you're too much on the edge :)
> Actually, it turns out it's due to Opacity. I'm not sure how consistently
> this behavior can be reproduced on other XP machines, but on our Dell
[quoted text clipped - 45 lines]
> > > > Thanks much,
> > > > Eddie