nanogui: Re: about Windows redraw


Previous by date: 17 Jul 2002 05:12:53 -0000 hello!How to register MailList?, fanhuiler.sunplus.com.cn
Next by date: 17 Jul 2002 05:12:53 -0000 Re: GUI Tool Kit, Greg Haerr
Previous in thread: 17 Jul 2002 05:12:53 -0000 Re: about Windows redraw, Greg Haerr
Next in thread: 17 Jul 2002 05:12:53 -0000 Re: about Windows redraw, Greg Haerr

Subject: Re: Re: [nanogui] Fw: about Windows redraw
From: "wang" ####@####.####
Date: 17 Jul 2002 05:12:53 -0000
Message-Id:

>I'm not so sure it is "very obvious". Have you done profiling which
>proves the inter-process communication overhead is really what is making
>window dragging slow for you? One thing which I think could help is to
>modify nanowm so that instead of synchronously moving the dragged window
>every time it gets a mouse event, it instead keeps track of the movement
>and asynchronously moves the window (if its position has changed) every
>(say) tenth of a second. That would limit the rate at which
>GrMoveWindow() was called (and the resulting redrawing of everything
>under the moved window), increasing efficiency and responsiveness.
    Inter-process communication overhead is one reason slow down the 
speed ,but most time is wasted during process scheduling.Just let's 
have a look at the procedure when we drag a window:first the graphic 
server is scheduled ,detech the motion of mouse,generate a event add
to the queue ,the wait for wm be scheduled to deal with the event(we
are not sure when it will be scheduled,so time wasted),fanally it the
turn to wm ,it get the event ,and want move the window ,so it send a
event to server to request to move window,the wait again ,wait the 
server to be scheduled(nobaby know how long it will take) ,and deal 
with the request.the we see the window be move.unless you have a very 
fast processor ,otherwise you will find the speed for such a frequent 
operation is too slow.

>There is another reason that dragging a window over another window is
>slower than it should be by the way- the method of reporting exposures
>we currently have in Nano-X is rather inefficient. When you move a
>window a small distance, an exposure event for the area under where the
>window moved from is generated encompassing the entire rectangular area,
>when it really ought to somehow report just two rectangles along the
>(remember if you move a shaped window over another window it could
>generate a lot more than two exposed rectangles) with each event having
>isn't intelligent enough to redraw each rectangle seperately, then you
>just redraw the whole window whenever you see an event with a count of
>0. We could either copy this method, or I think a nicer way to do it
>would be to keep the current Exposure event as it is for old/dumb
>applications and add a new event, which only applications intelligent
>enough to make use of it would select for, that supplies an exposure
>rectangle list to the client in a single event.
   Don't say x ,I have nerver given a pride to the speed of x, linux 
is so effient and high speed ,why when using x ,all things changed,
unendurable slow speed boring most of us ,and this one reason why I 
turn to microwindows,there are two reason for the low speed:
   1.Shouldn't put window manager outside graphic server,besides easy to
maintain and modify ,I can't find any other advantage for this.treat
such a frequently used server(I'm willing to say so) just as a common 
application,I don't think this is  good architecture.
   2.Shouldn't treat the graphic server the same as a common application 
process,but this can be forgived ,because at a server machine ,graphic 
isn't so important.just have a think of such an important server only 
can have the same run priority when being scheduled.who will think it
with high speed.
    All of these is the drawback of x ,when we create new graphic system,
we should avoid these problem.just have a think of how we deal with cursor
redraw.you will find the enhanced  agility  when move cursor.why ?because
it be deal with in server,doesn't waste any time.
    
    Uper is my opinion.even more I want get criticism from anyboby .
so we can make the brand-new system faster and more stable,which is
my final aim.
    Any suggestion is welcome!


        wang
####@####.####
          2002-07-17





Previous by date: 17 Jul 2002 05:12:53 -0000 hello!How to register MailList?, fanhuiler.sunplus.com.cn
Next by date: 17 Jul 2002 05:12:53 -0000 Re: GUI Tool Kit, Greg Haerr
Previous in thread: 17 Jul 2002 05:12:53 -0000 Re: about Windows redraw, Greg Haerr
Next in thread: 17 Jul 2002 05:12:53 -0000 Re: about Windows redraw, Greg Haerr


Powered by ezmlm-browse 0.20.