All of lore.kernel.org
 help / color / mirror / Atom feed
* Advantages of CreateSolidFill as src for CompositeText?
@ 2010-06-15 14:08 Clemens Eisserer
  2010-06-15 15:03 ` Chris Wilson
  0 siblings, 1 reply; 2+ messages in thread
From: Clemens Eisserer @ 2010-06-15 14:08 UTC (permalink / raw)
  To: intel-gfx

Hi,

In my java2d-xrender backend I am always using a 1x1 pixmap as src if
color values are set for CompositeText.
I recently discovered with intel-2.10 that a large amount of time is
spent reading back the color value of that 1x1 pixmap (about 50% of
total CompositeGlyph time), the other cycles mostly went into
i830_get_aperture.

With 2.11.901 everything seems to be fine, but I wonder - what is the
preferred way to do this across different drivers (EXA)?
I remember I decided to go with the 1x1 pixmap because EXA back then
didn't like solid fills with alpha value, and 1x1 pixmaps performed
quite well everywhere.

Thank you in advance, Clemens

PS: No idea what you did with 2.11.901 but that thing rocks.
Benchmarks I regulary run to monitor my backend's performance show a
reduction of rendering times by overall 20-40%, and also the whole
desktop feels a lot faster.
Very impressive, thanks a lot!

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Advantages of CreateSolidFill as src for CompositeText?
  2010-06-15 14:08 Advantages of CreateSolidFill as src for CompositeText? Clemens Eisserer
@ 2010-06-15 15:03 ` Chris Wilson
  0 siblings, 0 replies; 2+ messages in thread
From: Chris Wilson @ 2010-06-15 15:03 UTC (permalink / raw)
  To: Clemens Eisserer, intel-gfx

On Tue, 15 Jun 2010 16:08:45 +0200, Clemens Eisserer <linuxhippy@gmail.com> wrote:
> With 2.11.901 everything seems to be fine, but I wonder - what is the
> preferred way to do this across different drivers (EXA)?
> I remember I decided to go with the 1x1 pixmap because EXA back then
> didn't like solid fills with alpha value, and 1x1 pixmaps performed
> quite well everywhere.

If it did not trigger fallbacks in the current EXA drivers, I would
recommend going with SolidFill instead of 1x1 pixmaps (and similarly would
enable them in Cairo).

Using SolidFill (PineView):
36000000 trep @   0.0008 msec (1290000.0/sec): Char in 80-char aa line (Charter 10)
32000000 trep @   0.0008 msec (1270000.0/sec): Char in 80-char rgb line (Charter 10)
Using 1x1R (PineView):
32000000 trep @   0.0008 msec (1250000.0/sec): Char in 80-char aa line (Charter 10)
32000000 trep @   0.0008 msec (1230000.0/sec): Char in 80-char rgb line (Charter 10)

Whilst that only indicates a 4% throughput improvement in a pretty ideal
scenario, for a more normal application there is also a reduction in the
volume of X traffic, as creating a SolidFill is much cheaper than creating
and filling a 1x1R. Also the above benchmark does not reveal the cost of
immediately using a 1x1R as a solid colour after creation, as that incurs
the overhead of a readback currently.
-ickle

-- 
Chris Wilson, Intel Open Source Technology Centre

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-06-15 15:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-15 14:08 Advantages of CreateSolidFill as src for CompositeText? Clemens Eisserer
2010-06-15 15:03 ` Chris Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.