[cairo] Time for a release ?

Heiko Lewin hlewin at gmx.de
Fri Nov 20 02:17:53 UTC 2020


Am 20.11.2020 um 00:14 schrieb Bryce Harrington:
> On Thu, Nov 19, 2020 at 10:23:33PM +0000, Stuart Axon wrote:
>> [1] Locking issues
>>
>> I ran the tests in a Windows VM with Meson and quite a few timed out, it
>> seems like quite a few will be the ones with locking issues.
>>
>> https://gist.github.com/stuaxo/1d125dc83888a28f60c684718619a112
>>
>> There were a couple of tests that popped up dialog boxes under Windows when
>> they failed, which seems not idea for CI.
>>
>> I'll see if I can do the same under Linux and possibly MacOS to see if the
>> same ones time out.
>>
>> [2]  Rendering issues:
>>
>> It sounds like there are different sources for these, so maybe it's worth
>> having tickets for the different kinds of failure, once a baseline is
>> established.
>>
>> Maybe we could make sanity checks for the different failure types (or
>> designate existing tests for these) ?
>>
>> Pixman:  As mentioned elsewhere, changes that affect rendering here will
>> mean ref images need updating.
> For rendering issues in the image backend, I tended to find that a
> common root cause would often be a changed assumption about how
> drawing operations should behave. For example, algorithm changes in
> pixman can result in a pixel to flip on or off, or to be set to a
> slightly different shade of grey. Legitimate performance or quality
> improvements to blending or dithering algorithms can cause these kinds
> of changes too. Typically for those cases the rendering behavior is
> kind of a judgment call, so not much to do except redo the reference
> images to match the new behavior.
Latest pixman version also has a regression in downscaling
https://gitlab.freedesktop.org/pixman/pixman/-/issues/43
>> Fonts and operating systems:
>>
>> Do we expect output on differing operating systems to be the same?  If not,
>> maybe per-OS reference images is could work (e.g. Linux/MacOS/Windows would
>> be expected to be similar, but whichever OS you are running on should be an
>> exact match).
> A foundational principle for Cairo is that rendering output should be
> reliably identical not only cross-platform but also cross-device
> (i.e. what's on your monitor matches what's printed on paper, and
> rendering to PNG, PDF, or SVG should all be identical.)
>
> In practice, no of course actual renderings will differ from one
> platform to the next.
>
> Honestly, though, it's even more complicated than that due to dependence
> on fonts, dependency versions, etc.  So I wouldn't expect images on
> Ubuntu to match ones from Fedora, nor even ones rendered on Ubuntu 16.04
> to match those on Ubuntu 20.04.  Achieving decent apples-to-apples
> comparison gets to be a bit of an combinatorial explosion...

A bit of the variance problem is rooted in cairo, though. For example

CAIRO_HINT_STYLE_DEFAULT
Use the default hint style for
   font backend and target device, since 1.0

means that cairo will not set up anything, but use whatever
freetype/fontconfig, CoreText or
GDI will come up with. The tests do not do that.
To get halfway stable results you'd have to manually configure all
options to
a non-default value I guess.

So, as I understand now, the procedure for testing can only be:

- Generate reference images
- Mess with code
- Run tests again

This even is documented. Now, that is enlightening.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo/attachments/20201120/5bc11d18/attachment.htm>


More information about the cairo mailing list