Bug 33081 - Bad Win32 Backend Performance After Fallback Change
Summary: Bad Win32 Backend Performance After Fallback Change
Alias: None
Product: cairo
Classification: Unclassified
Component: win32 backend (show other bugs)
Version: 1.9.2
Hardware: Other Windows (All)
: medium blocker
Assignee: cairo-bugs mailing list
QA Contact: cairo-bugs mailing list
Depends on:
Blocks: cairo-1.12
  Show dependency treegraph
Reported: 2011-01-13 16:08 UTC by Brent Fulgham
Modified: 2012-02-15 06:44 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description Brent Fulgham 2011-01-13 16:08:49 UTC
It turns out that the Mozilla project has been unable to use Cairo since the early part of 2010 due to a change cairo-surface-fallback.c.

(see "http://cgit.freedesktop.org/cairo/commit/?id=3b1c0a4bd66660780095e6016e3db451f34503a3")

While the commit message indicates that this would only impact the GL backend, it turns out that the win32 backend is heavily impacted by this change.

Ultimately, the correct resolution is to fix the win32 backend so that it does not need to use fallbacks.
Comment 1 Brent Fulgham 2011-05-02 09:15:31 UTC
Example code to reference during implementation:

1. gl: Add a simple spans renderer for stroke/fill:


2. gl: Fix span renderer for unbounded spans


3. gl : Fix span renderer doing bad stuff for CLEAR and SOURCE

Comment 2 Chris Wilson 2012-02-15 06:44:05 UTC
commit ae3319890eacd1c8282ca6df7b263ac74abb5f8d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Feb 12 11:25:07 2012 +0000

    win32: Rebase on the new compositor infrastructure
    Try and undo all the damage that has acrued over the years by plugging
    into the compositor pipeline.
    References: https://bugs.freedesktop.org/show_bug.cgi?id=42739
    References: https://bugs.freedesktop.org/show_bug.cgi?id=42821
    References: https://bugs.freedesktop.org/show_bug.cgi?id=33081
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.