[Pixman] Dithering patches, v2
Basile Clement
basile-pixman at clement.pm
Mon Apr 22 20:09:22 UTC 2019
There is less calculation, but the noise matrix takes up cache space
(about half a modern CPU's L1) and hence increases memory pressure. The
actual performance relationship is probably hardware dependent, but on
my laptop doing a quick check with patched lowlevel-blt-bench:
- Bayer is ~8% faster than blue noise
- Bayer is only ~5% faster if I use `dither_blue_noise_64x64[((y &
0x3f) << 6) | (x & 0x3f)]` in the index computation, which I would have
expected GCC to do automatically but oh well.
- Both are about the same speed with uint16_t array for the blue noise
(halves memory consumption).
I will make those two changes (they are clearly desirable) and re-post
the blue noise patch. Since this is in a write-back loop which should
be memory-bound in general, I think it makes sense to keep Bayer as FAST
dithering -- but I'm not opposed to removing it.
- Basile
On 4/22/19 8:12 PM, Bill Spitzak wrote:
> Is the "blue noise" version actually slower than the Bayer? Seems to
> be doing a bit less calculation but it reading the array of weights.
> The removal of the need for the pattern offset seems like a win.
>
> On Mon, Apr 22, 2019 at 9:27 AM Matt Turner <mattst88 at gmail.com
> <mailto:mattst88 at gmail.com>> wrote:
>
> On Fri, Apr 19, 2019 at 4:52 PM Bryce Harrington
> <bryce at bryceharrington.org <mailto:bryce at bryceharrington.org>> wrote:
> > Inkscape would love to see Basile's dithering patches included. Our
> > testing shows that they make a huge quality difference for our
> users;
> > this solves a critical need.
> >
> > Mc and I have done some preliminary investigation into how to
> plumb this
> > into Cairo, and would love to hear your review of Basile's
> approach to
> > the problem.
>
> I don't feel like I'm experienced enough with that side of pixman to
> offer meaningful comments. I've Cc'd Søren in the hopes that he
> remains interested enough in the project to review the patches that
> Basile says implement the approach Søren described.
> _______________________________________________
> Pixman mailing list
> Pixman at lists.freedesktop.org <mailto:Pixman at lists.freedesktop.org>
> https://lists.freedesktop.org/mailman/listinfo/pixman
>
>
> _______________________________________________
> Pixman mailing list
> Pixman at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/pixman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pixman/attachments/20190422/a97bde3f/attachment.html>
More information about the Pixman
mailing list