gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [bug #32629] cairo pixel snapping is broken


From: Bastiaan Jacques
Subject: [Gnash-commit] [bug #32629] cairo pixel snapping is broken
Date: Mon, 28 Feb 2011 21:23:27 +0000
User-agent: Mozilla/5.0 (X11; Linux i686; rv:2.0b11) Gecko/20110209 Firefox/4.0b11

URL:
  <http://savannah.gnu.org/bugs/?32629>

                 Summary: cairo pixel snapping is broken
                 Project: Gnash - The GNU Flash player
            Submitted by: bjacques
            Submitted on: Mon 28 Feb 2011 10:23:27 PM CET
                Category: render-cairo
                Severity: 3 - Normal
                 Release: master
                  Status: None
                 Privacy: Public
             Assigned to: bjacques
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

The Cairo renderer presently implements pixel snapping in a way which converts
any given set of coordinates to pixels, rounds them, and then converts them
back to TWIPS (multiplied by whatever the Character provides).

Pixel snapping is used to provide shapes with sharp edges. Cairo renders
rounded pixel coordinates a lot faster.

When Cairo is finally called upon to render the shape, rounding errors are
introduced (for example, coordinate 83.0000001 by 199.0000001 are actually
used). This slows down drawing a lot, because Cairo is designed to rendering
coordinates exactly as provided.

Instead, the Cairo renderer should do what the AGG renderer does, which is to
convert all the coordinates to pixel coordinates by itself, and then feed them
to the graphics library.




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?32629>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]