[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GSOC 2013 final update
From: |
David Chisnall |
Subject: |
Re: GSOC 2013 final update |
Date: |
Thu, 31 Oct 2013 09:16:51 +0000 |
On 31 Oct 2013, at 02:35, Ivan Vučica <ivucica@gmail.com> wrote:
> Hi Johannes,
>
> Sadly that's the state of affairs. I didn't dig deep, but I presume the issue
> is with drawing all into a bitmap cgcontext and then drawing that into the
> X11 cgcontext. That messes with fonts, and there is color conversion code in
> Opal that Eric can probably comment on better than I can. The backend may be
> creating a backing cgbitmapcontext that is not optimally adapted to the
> target x11 cgcontext...
>
> Generally the backend does as little as possible (and opal itself as well;
> it's as thin wrapper around Cairo as possible, wherever that is possible),
> and if you hack the backend to turn off the backing bitmap context it's much
> faster. Sadly, gui really wants and needs a way to copy image rectangles from
> a gstate to another gstate -- something sadly only possible in core graphics
> if the source context is a bitmap context...
I thought we'd removed most of the NSCopyBits usage, because it's never a
sensible thing to do on a vaguely modern (last 10 years) GPU. It would be nice
to have it keep working, but it's not something that should be optimised for,
and it should probably have a deprecated attribute on it.
> Ideally it should be faster to blit an image than to redraw a region, so the
> always-backing schema should be better. Sadly, that does not seem to be so.
It's faster, if you're using the GPU to do the compositing, but that's
something that you handle with layers, not with copies.
David