On Mon, Aug 1, 2022 at 4:25 AM Stephen Chenney <[email protected]>
wrote:

> Thanks for investigating the potential for fuzzy matching.
>
> Rendering Core continues to oppose a single fuzzy match rule across all
> web_tests. We have some tests where single pixel differences matter
> (related to pixel snapping, for example) and a universal fuzzy match would
> fail to identify problems with those. This came up in practice recently
> when the GPU team enabled fuzzy matching without telling us, and expected
> failing tests started passing when they shouldn't.
>

I think a key difference between the original fuzzy matching rule and the
rule proposed by Vivian is the ranges. With maxDifference=0-1, we should be
able to catch most visible single pixel differences. What I'm not sure is
whether a difference like rgb(1, 0, 0) vs rgb(0, 0, 0) (each component in
the range of 0-255) should be treated as a failure in some cases.

Maybe specific sub teams have directories they could apply default fuzzy
> matching to. My guess is that the same directories where it will work will
> be directories with few failing tests, limiting the impact of a
> per-directory approach.
>
> Is there a way to reproduce the sampling below with a side-by-side
> comparison of the images? I would find it helpful to look through some of
> the cases that would pass with <meta name="fuzzy" content="0-1;0-1000">,
> for example.
>

A filter by actual maxDifference and totalPixels in results.html will be
helpful. I can add it when I get time.

Stephen.
>
> On Fri, Jul 29, 2022 at 8:20 PM 'Vivian Zhi (支文文)' via blink-dev <
> [email protected]> wrote:
>
>> Hi blink-dev
>>
>> I would like to let you know that blink-engprod has added feature support
>> for non-WPT fuzzy tests. It now allows both non-WPT reftests and pixel
>> tests to use the same fuzzy matching meta-tags as WPT tests.It also shows
>> max color channel difference and total number of different pixels image
>> diff stats in results.html
>> <https://test-results.appspot.com/data/layout_results/linux-rel/1073794/blink_web_tests%20%28with%20patch%29/layout-test-results/results.html>.
>> With these capabilities in place, we like to research further to see if we
>> can set up some general fuzzy match rules, help blink dev identify flaky
>> tests that can be potentially resolved by adjusting fuzzy matching rules.
>> Currently there are quite some web tests that are flaky due to a slight
>> image mismatch, which should have been tolerated. If we setup a general
>> fuzzy matching rule , something like:
>>
>>  <meta name="fuzzy" content="0-1;0-1000">
>>
>> Instruct the image comparison web tests that if color channel and pixel
>> diff fall within the range of the rule, we can ignore the diff and pass the
>> test.This way we can reduce test flakiness while still maintain test
>> accuracy without missing a real bug.
>>
>> We want to ask you some quick survey questions to help us make design
>> decisions, whether it makes sense to set up an universal cross-the-board
>> fuzzy match tolerant rule for all blink web tests, or we should make the
>> rules more specific to individual test or test sets.
>>
>> 1.  Is an universal fuzzy match tolerant rule acceptable for the web
>> tests in your area?
>>
>>     a). If the answer is yes, what is the acceptable range of max color
>> channel and pixel diff for your tests?
>>     b) If the answer is no, pls share your reasons.
>>
>> 2. Do you prefer fuzzy matching rule adjustment at a per-test or per test
>> set level based on the pixel difference numbers shown in results.html?
>>
>> Here is some sample data help you make choice, we collected data recently
>> from blink_web_tests result on linux-test builder, the distribution of
>> color channel maxDifference and totalPixel diff for failing/flaky
>> blink_web_tests
>> ( Note: over 70% tests in color channel maxDifference 0-10 range have
>> maxDifference=1):
>>
>> Color Channel maxDifferenece
>> Range Fail test count
>> 0-10 98
>> 11-100 31
>> 101-200 28
>> 201-260 111
>> totalPixels
>> Diff Range
>> Fail test count
>> 0-100 30
>> 100-1000 57
>> 1000-10,000 99
>> 10,000-100,000 66
>> 100,000-1,000,000 16
>>
>> Let me know if you have any questions, looking forward to hearing from
>> you!
>>
>>
>> Vivian
>> on behalf of Chrome-Blink-EngProd
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPCqkTs-L5u22-Xp5U_LeBdLP%3D%2BTDH1KGv8MTmtKQFRcANCZJg%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPCqkTs-L5u22-Xp5U_LeBdLP%3D%2BTDH1KGv8MTmtKQFRcANCZJg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzRDrX%3Dgz9NNcwpBEOXCxR37p2XwZC3Agm6fdE6%2BFcPhvg%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzRDrX%3Dgz9NNcwpBEOXCxR37p2XwZC3Agm6fdE6%2BFcPhvg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADBxrieH8kkYX4nx-SJ93cGbaF%3DoiJ5YFaRQSx4L63o8LZvhww%40mail.gmail.com.

Reply via email to