- Explanation of how opengl drawing in fennec on android works NOPE! looks like the bug for drawing backend on Android is actually this
- Recently slightly helpful thread about poor ESGL perf with cairo on android
-
https://blog.mozilla.org/joe/2011/04/26/introducing-the-azure-project/
-
http://robert.ocallahan.org/2011/09/graphics-api-design.html
-
http://www.basschouten.com/blog1.php/comparing-performance-azure-vs-cairo
-
http://benoitgirard.wordpress.com/2012/05/15/off-main-thread-compositing-omtc-and-why-it-matters/
Using the profiling add-on as described here gave native stack trace.
The native stack trace pointed to bits_image_fetch_bilinear_affine_pad_x8r8g8b8 as a likely culprit. Note that the function is actually generated by the MAKE_FETCHERS macro in gfx/cairo/libpixman/src/pixman-bits-image.c
Further research provided this lead: http://www.mail-archive.com/pixman@lists.freedesktop.org/msg00921.html and then this: http://lists.freedesktop.org/archives/pixman/2011-February/001053.html
Yowsers! according to that email, using neon SIMD makes bilinear scaling 6x faster! I our case we are only doing translation btu still...