[Pixman] Projective transforms in pixman

Siarhei Siamashka siarhei.siamashka at gmail.com
Mon Jan 28 13:15:08 PST 2013


On Sun, 27 Jan 2013 15:55:04 -0500
Jeff Muizelaar <jmuizelaar at mozilla.com> wrote:

> 
> On 2013-01-27, at 2:43 PM, Siarhei Siamashka wrote:
> 
> > I was a bit worried about the projective transforms. The accuracy is
> > improved, but the new code uses a rather naive and slow implementation
> > for long division. So the performance is going to be worse. But as
> > almost nobody seems to be using projective transforms (not cairo at
> > least) and the current implementation itself can be hardly considered
> > optimized at all, this should not be a big problem.
> 
> FWIW, we currently use pixman's projective transforms in Firefox to
> implement CSS 3D transforms on platforms without hardware acceleration.
> Making it slower isn't great.

Thanks. That's good to know. Earlier I thought that projective
transforms are implemented merely for the compliance reasons,
because XRender needs them.

The performance regression (if any) should not be that big. The
"pixman_transform_point_*" functions are used a limited number of
times per composite operation and are expected to be eclipsed by
the heavyweight per-pixel processing.

But if projective transforms are really used, then it's a good
idea to try making them fast for real. Adding some benchmarks
and trying to compare the current pixman performance with LLVMPipe
or the other implementations could be the first step.

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list