Click here to Skip to main content
15,886,199 members
Home / Discussions / C#
   

C#

 
AnswerRe: How to add the XP theme support to VC# .Net Application? Pin
Nick Parker22-Jul-03 20:54
protectorNick Parker22-Jul-03 20:54 
QuestionA decent alternative to MSHTML? Pin
Arun Bhalla22-Jul-03 15:58
Arun Bhalla22-Jul-03 15:58 
GeneralWorkarounds for dealing with Large Objects Pin
Arun Bhalla22-Jul-03 15:47
Arun Bhalla22-Jul-03 15:47 
GeneralRe: Workarounds for dealing with Large Objects Pin
apferreira23-Jul-03 7:25
apferreira23-Jul-03 7:25 
GeneralRe: Workarounds for dealing with Large Objects Pin
Arun Bhalla23-Jul-03 7:40
Arun Bhalla23-Jul-03 7:40 
GeneralRe: Workarounds for dealing with Large Objects Pin
Arun Bhalla23-Jul-03 8:10
Arun Bhalla23-Jul-03 8:10 
GeneralRe: Workarounds for dealing with Large Objects Pin
apferreira23-Jul-03 8:29
apferreira23-Jul-03 8:29 
QuestionIs Invalidate() inefficient? Pin
Arun Bhalla22-Jul-03 15:33
Arun Bhalla22-Jul-03 15:33 
I have a few questions to ask, and as always, they all pertain to my particular work project, which involves visualizing Web searches, so there is a fair amount of intense parsing, and a fair amount of GDI+ usage and custom controls.

I was profiling my project using the very great AutomatedQA AQtime .NET Profiler. In the GUI thread, one of calls that were using the most CPU time for that thread was Panel.Invalidate(), which is actually Control.Invalidate(). The exact arguments were (RECT something, true), as in invalidate the child controls, too. What's happening is that I was updating something on the panel, and the child controls of the panel perform transparency, so those child controls within the bounds of the rectangle need to be invalidated, too, so that their backgrounds are updated. So at least I think those arguments are correct. I assumed that Invalidate() just updated some sort of Invalidated Rectangle or Region within a Control, which would be fairly efficient. It appears that If the second argument for Invalidate() is true, then it calls SafeNativeMethods.RedrawWindow() instead of SafeNativeMethods.InvalidateRect(). (Thanks to Reflector's decompiler for this information!) I don't really know what RedrawWindow() does, but it sounds like it's actually redrawing the window or performing some more complex task than just invalidating!

So it makes me wonder if Invalidate() with invalidateChildren = true is not quite what I expect out of Invalidate(), and also if it's better for me to maintain my own InvalidatedRectangle and call Invalidate() once instead of possibly 50 times, especially for the case where invalidateChildren = true.

I don't really know if this is something for me to worry about. The GUI thread doesn't seem to use a whole lot of CPU usage compared to the parsing threads, but I'm trying to reduce flicker on the GUI side, too.

Thanks,
Arun
AnswerRe: Is Invalidate() inefficient? Pin
EastDragon22-Jul-03 20:28
EastDragon22-Jul-03 20:28 
GeneralRe: Is Invalidate() inefficient? Pin
Arun Bhalla23-Jul-03 7:01
Arun Bhalla23-Jul-03 7:01 
GeneralRow selection for datagrid control Pin
eric feng22-Jul-03 11:49
eric feng22-Jul-03 11:49 
GeneralRe: Row selection for datagrid control Pin
A.Wegierski23-Jul-03 3:33
A.Wegierski23-Jul-03 3:33 
GeneralRe: Row selection for datagrid control Pin
eric feng23-Jul-03 6:13
eric feng23-Jul-03 6:13 
GeneralRe: Row selection for datagrid control Pin
A.Wegierski23-Jul-03 19:22
A.Wegierski23-Jul-03 19:22 
GeneralProblem with the OnKeyDown event... Pin
Georgi Atanasov22-Jul-03 11:34
Georgi Atanasov22-Jul-03 11:34 
GeneralRe: Problem with the onkeydown event... Pin
Bo Hunter22-Jul-03 15:24
Bo Hunter22-Jul-03 15:24 
GeneralRe: Problem with the onkeydown event... Pin
A.Wegierski23-Jul-03 19:11
A.Wegierski23-Jul-03 19:11 
GeneralRe: Problem with the onkeydown event... Pin
Valeria Bogdevich24-Jul-03 0:37
Valeria Bogdevich24-Jul-03 0:37 
GeneralRe: Problem with the onkeydown event... Pin
Valeria Bogdevich24-Jul-03 0:38
Valeria Bogdevich24-Jul-03 0:38 
GeneralUSING THE TIMER Pin
eggie522-Jul-03 11:28
eggie522-Jul-03 11:28 
GeneralRe: USING THE TIMER Pin
Rocky Moore22-Jul-03 21:14
Rocky Moore22-Jul-03 21:14 
GeneralRe: USING THE TIMER Pin
eggie522-Jul-03 21:43
eggie522-Jul-03 21:43 
GeneralPopup Tooltip for Each DataGrid Cell Pin
Khang Nguyen22-Jul-03 10:15
Khang Nguyen22-Jul-03 10:15 
GeneralPlaying Video with windows media player in C# Pin
kharr102722-Jul-03 9:12
kharr102722-Jul-03 9:12 
GeneralRe: Playing Video with windows media player in C# Pin
eric feng22-Jul-03 11:55
eric feng22-Jul-03 11:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.