Re: A couple of questions about the new order

Robert O'Callahan <[email protected]>
Newsgroups gmane.comp.freedesktop.xserver
Message-ID <[email protected]>
Keith Packard wrote:

>Around 19 o'clock on Nov 25, "Robert O'Callahan" wrote:
>
>  
>
>>Here's the thing that I didn't manage to get across, so I'll try again: 
>>most of our child windows (except for plugins) don't have their own 
>>contents to draw.
>>    
>>
>
>So they are effectively "input only"?
>
Actually they don't really take input either. They effectively pass all 
input up to their parent. They only exist to make scrolling and clipping 
to inner rectangles work in the presence of plugins. (And because of 
certain legacy and crossplatform code issues --- fixable on our side 
with some effort.)

It sounds like InputOnly windows should solve our problem pretty well as 
long as they can have regular InputOutput children. Thanks for the tip!

>>Also, can we now scroll by just copying pixels within Composite's 
>>backing pixmap for a window?
>>    
>>
>
>You could always do that using CopyArea in IncludeInferiors mode, the 
>trick was that the child window position wouldn't get set correctly.  Now, 
>with Composite, you can avoid having child window updates have any affect 
>on the parent.
>
Good. There is still a double-buffering issue; we don't want the 
XCopyArea to be visible until we've also painted the newly exposed area 
(currently we have huge hacks to mitigate this). That reduces to the 
issue of how do we tell Composite that we're done rendering a frame.

>>So when a timeout fires, it just looks ugly? I guess that's OK.
>>    
>>
>That's likely; given suitably long timeouts, they "shouldn't" ever occur 
>if applications are keeping up.  In the normal course of events, I'd 
>expect updates to be triggered when all affected windows are ready.  Note 
>that none of this has seen any more exposition than you've read here.
>  
>
No matter what OpenGL-based hardware-accelerated-up-the-wazoo X server 
you build, some author will build a Web page sufficiently complex that 
we can't keep up :-).

"When all affected windows are ready" might have problems. Suppose you 
have N apps blended into the same screen area and they repeatedly draw 
frames in such a way that at any given time, at least one app is not ready.

Anyway, thanks for the tips. It gives us some idea of what we should be 
aiming for. We still have to figure out how to fit it into a 
cross-platform story but that's our problem :-).

Rob

-- 
Robert O'Callahan <[email protected]>
"Here is a trustworthy saying that deserves full acceptance: Christ
Jesus came into the world to save sinners-of whom I am the worst.
(1 Timothy 1:14-16)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.