[cairo-bugs] [Bug 9064] Weird performance on printing weird rectangles

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jan 11 20:52:40 PST 2008


Adrian Johnson <ajohnson at redneon.com> changed:

           What    |Removed                     |Added
                 CC|                            |ajohnson at redneon.com
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #5 from Adrian Johnson <ajohnson at redneon.com>  2008-01-11 20:52:37 PST ---
This is fixed by the new cairo_win32_printing_surface that is in the 1.5.x
snapshots and will be in 1.6.

The cairo_win32_surface uses a lot of image fallbacks to produce the correct
output as the GDI API doesn't support antialiasing or transparency. GDI calls
are used for some functions such as text and rectangles on integer coordinates.
The problem with using cairo_win32_surface for printing is that at printer
resolutions of 600dpi or more the bitmap for a full page is hundreds of meg in
size and not very printer friendly. Even worse is that operations involving
transparency require reading back the destination bitmap. Many printer drivers
do not support this capability so the output will be incorrect.

The new cairo_win32_printing_surface is designed to use always use GDI calls.
At printer resolutions antialiasing is not required and the surface uses the
same internal meta surface used by the PostScript backend for generating
fallback images for unsupported operations so access to a destination bitmap is
not required.

Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the cairo-bugs mailing list