[Pixman] performance of bilinear_interpolation

Maksim Lin maks at manichord.com
Wed Oct 2 22:14:26 PDT 2013

Hi Siarhei,

Thanks very much for writing this patch! Looks very promising that it
gives a x2 speed up.

I tried applying it to the pixman embedded in the Firefox src tree
(using mozilla-central hg repo from a few weeks ago) and while it
applies cleanly, it doesn't compile.

I'm assuming that's because your patch would be against the current
pixman git repo master branch and Firefoxes embedded pixman is labeled
as version 0.27 (not sure version of cairo that itself is inside of).

So... I was wondering, would you have any tips on how I could backport
this to the pixman used in Firefox or is there a trick to getting
firefox to use a newer version of pixman?


On Thu, Oct 3, 2013 at 3:40 AM, Siarhei Siamashka
<siarhei.siamashka at gmail.com> wrote:
> On Wed, 2 Oct 2013 20:49:41 +1000
> Maksim Lin <maks at manichord.com> wrote:
>> Thanks Siarhei and Chris for continuing to look into this.
>> Sorry for the delayed response, we've had to change tack and try a
>> different approach for our work so I've been busy on other tasks.
>> One thing I think I should have mentioned was that the slow rendering
>> problem is most evident in my sample content
>> (http://manichord.com/opensign/ffdebug/ffscroll.html) when it
>> autoscrolls the content (like a photo slideshow) which happens if
>> there is no user input for about 10sec after page finishes loading.
>> And then is most obvious when the last image is reached and it scrolls
>> through all the images back to the start.
> The following patch should make bilinear scaling faster on x86 for this
> web page by implementing a new SSE2 fast path:
>     http://lists.freedesktop.org/archives/pixman/2013-October/003019.html
> ARM NEON may get something similar, but I'm considering to rework it a
> bit to also ensure that it works well on the relatively new Cortex-A7
> and Cortex-A15 processors.
> Also instead of plugging the holes by adding fast paths, we really
> should be extending the iterators to handle more cases (while still
> keeping them efficient and avoiding redundant copies). It does not
> need much work and can be implemented really soon.
>> Also Siarhei mentioned when the page is zoomed in firefox you get
>> bilinear scaling but we've got a viewport element in page to set
>> (maximum-scale=1) which I would have thought should always prevent any
>> zooming int he browser?
> I think this is more like a question for the Firefox folks.
> --
> Best regards,
> Siarhei Siamashka

More information about the Pixman mailing list