discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gui 'slow' with remote X ?


From: Nicolas Roard
Subject: Re: gui 'slow' with remote X ?
Date: Mon, 8 Dec 2008 16:27:19 +0000

On Fri, Nov 28, 2008 at 7:37 PM, Fred Kiefer <fredkiefer@gmx.de> wrote:
> hns@computer.org wrote:
>>> The last of these is the most relevant part here.  As I recall, when
>>> we do a copy, we currently:
>>> 1) Copy the relevant parts into the (client-side) buffer.
>>> 2) Draw the new bits.
>>> 3) Copy the buffer to the client.
>>
>> Doesn't it use a simple XCopyArea() which is done completely on the
>> Server?
>>
> At least the xlib backend should be doing this, but I am unsure whether
> there are paths where we don't hit this case.
>
>>> 1) Have a Picture per view.
>>> 2) Use XRenderComposite to draw the old Picture onto itself with
>>> translated coordinates.
>>> 3) Draw the new parts in a new Picture.
>>> 4) Copy this to the server.
>>> 5) Render he new parts over the now-invalid parts of the old picture.
>>> 6) Composite this into the parent view.
>>>
>>> This means you are transferring a lot less data and doing more on the
>>> GPU.  This is going to be particularly important on handheld devices,
>>> where you will be moving much of the work from the ARM core to the GPU
>>> core and freeing up the slow CPU to work on more important things.  A
>>> new X server can do all of these things in highly optimised CPU
>>> routines if no GPU is available, but something similar can be done
>>> with older parts of the X protocol.
>>
>> Well, I think you are requiring he Xrender extensions for older X11
>> servers.
>>
>> If they have this extension, I would suggest to switch to the cairo
>> backend. That is already Xrender based.
>>
>
> I fully agree with Nikolaus here. Handling Xrender ourselves is unneeded
> hassle,
> let cairo do this for us.

Irrespective of the scroll issue, exposing the view hierarchy to the backend
would still be quite interesting:
- we could have specialised backends using native widgets when available,
for better integration with the host platform
- we could have faster remote display as well (see NX) by being able to
use local widgets and thus save on many round-trips

-- 
Nicolas Roard
"I love deadlines. I like the whooshing sound
they make as they fly by." -- Douglas Adams




reply via email to

[Prev in Thread] Current Thread [Next in Thread]