New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 649046 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Poor raster quality of images with transform

Project Member Reported by chrishtr@chromium.org, Sep 21 2016

Issue description

Example:

<!doctype HTML>
<img style="transform:scale(0.48)" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/59506/logo.png"/>


 
Or:

<!doctype HTML>
<div style="transform:scale(0.48); background-image:url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/59506/logo.png);width:294px; height:51px;"></div>

Happens for both <img> and background-image.

Labels: M-55 Needs-Bisect
I wonder if this broke when switching to image decode in the compositor.
Owner: vmp...@chromium.org
It does not repro for a ToT build on Linux, but does repro for all the official
builds when bisecting. How could this be? Vlad, any ideas?

Comment 4 by vmp...@chromium.org, Sep 21 2016

This doesn't seem to repro on mac, but I'll try on linux tomorrow. 
Labels: Needs-Feedback
Tested the same on Linux 14.04 chrome version 55.0.2868.0 and the output is as shown in the screenshot

Could you please let us know if this is the issue you are facing?




Screenshot from 2016-09-22 17:19:00.png
26.3 KB View Download
Labels: -Needs-Feedback -Needs-Bisect
Yes this is the issue. The image should appear crisper. See this screenshot
for how it should look. I manually bisected also, and it seems blurry at all
revisions. Will debug with Vlad today.

Comment 7 by vmp...@chromium.org, Sep 22 2016

Owner: fmalita@chromium.org
It seems that the problem is that we scale the image using high filter quality to the nearest integer boundary. Then, we pass that to Skia with low filter quality which causes blurriness when scaling to precise subpixel scale. 

FWIW, using medium filter quality produces much better results here (with a small bugfix which I'll upload shortly). I don't think we should actually switch to medium filter quality, since that can produce worse results in other cases.

Florin, I think you looked at a similar bug in the past. Do you have any thoughts here? What was the outcome from the other bug?

Comment 8 by vmp...@chromium.org, Sep 22 2016

Actually disregard my comment about a small bugfix, medium quality just looks better as is. 

Comment 9 by vmp...@chromium.org, Sep 22 2016

I used the attached page to test this, since if we fix 0.48 scale, then we might break something like 0.47 scale.

Also, I've tried other high filter quality algorithms in Skia and the results are all very similar.
test.html
574 bytes View Download
Cc: fmalita@chromium.org reed@google.com
Owner: vmp...@chromium.org
(Interestingly, if I capture the SKP either in about://tracing or printToSkPicture, it looks much better.  I guess the capture bypasses IDC?  It would be nice to plumb IDC on the capture path also, to help debugging this sort of thing.)

Based on prev bugs my first thought was this is hitting the unaligned layer problem (layer gets post-filtered due to subpixel positionig), but that does't seem to be the case.

So I agree, it looks like bilerp-on-top-of-hq is causing this degradation.  I'm guessing that for certain residual scales (close to midpoint?) it yields worse results.

Previously (the bug I think vmpstr is referring to), I tried using nearest neighbor instead of bilerp for the second pass to avoid blurring.  It works in the sense that the result is sharper, but it introduces unacceptable geometrical artifacts (noticeable stretches, non-contiguous animations).  So no go.

As long as we're filtering twice (bilerp on top of discretized bicubics), I don't think there's a good answer to this.

One interesting question is why does the capture look so much better?  Skia should have the same issue (its hq scaled image cache is also int-snapped), so it should have the same problem.

I believe the difference is in how we treat downscaling: Skia doesn't use bicubic but mip maps for hq downscaling, while it sounds like IDC is sticking to bicubic for both up/down scaling.  So when downscaling, Skia does the equivalent of kMedium - which you've already mentioned produces better results.

Would it be an acceptable workaround for IDC to adopt the same heuristic as Skia (use mip maps for hq downscaling)?  Of course the problem remains for upscaling, but I suspect the effect is diminished because the relative stretch ratio due to int rounding decreases.

Then there's the author workaround of using "image-rendering:-webkit-optimize-contrast;" - which forces bilerp-only, and AFAIK is the only guaranteed technique for crisp AND contiguous animations.
test-crisp.html
619 bytes View Download
We also have ImageQualityController in Blink, which is presumably attempting to deal with similar issues when the image *size* is animating: it caps the filter quality to low/bilerp.  I wonder if it would be feasible to feed transform/scale signals to it also.

https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/layout/ImageQualityController.cpp?rcl=0&l=158
Cc: enne@chromium.org ericrk@chromium.org
It's a pretty easy change for us to use medium filter quality for downscales. If that's the thing Skia is using anyway, then let's just do that. I'll put up a patch.

As an additional point here, GPU raster only uses mips and it seems that it produces acceptable results (from the lack of bug reports on systems that have this enabled).
Yeah, Skia falls back to kMedium when downscaling: https://cs.chromium.org/chromium/src/third_party/skia/src/core/SkBitmapController.cpp?rcl=0&l=111

Come to think of it, if we agree that double-filtering is Bad, maybe we should consider always avoiding it?  Are there any cases where bicubic + bilerp looks better than kMedium, or even plain kLow?

Should we only do HQ when the dest geometry is pixel aligned AND is not animating?

That second bit it tricky, but likely important (to avoid popping in-and-out of HQ during animations).  Quick test for the first part, to see what blows up: https://codereview.chromium.org/2363643003/
Nothing went horribly wrong with https://codereview.chromium.org/2363643003/ -- most diffs are meh and some show the expected increase in sharpness: 

https://storage.googleapis.com/chromium-layout-test-archives/linux_precise_blink_rel/2922/layout-test-results/results.html
Hey, sorry I should've said that I also wrote up a patch for this :)
https://codereview.chromium.org/2361243002/

Same results, sharper images in a lot of the cases.
I like your patch more though, I'll review.
Project Member

Comment 17 by bugdroid1@chromium.org, Sep 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3a682363b85c528fed136517a1b39050a7d487f

commit e3a682363b85c528fed136517a1b39050a7d487f
Author: vmpstr <vmpstr@chromium.org>
Date: Mon Sep 26 21:57:05 2016

Blink: Convert scaled-sprited-background.html to be a pixel test.

This patch converts the referenced test from a ref test to a pixel test.

R=chrishtr@chromium.org
BUG= 649046 

Review-Url: https://codereview.chromium.org/2370793003
Cr-Commit-Position: refs/heads/master@{#421010}

[modify] https://crrev.com/e3a682363b85c528fed136517a1b39050a7d487f/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/72d32eba0a74fb274529df61bafd9f79cc9fcbda/third_party/WebKit/LayoutTests/fast/backgrounds/size/scaled-sprited-background-expected.html

Cc: tkonch...@chromium.org
Labels: Needs-Feedback
Tested the same on win10, mac 10.11.6 and Linux 14.04 using chrome version  55.0.2873.0 with example in comment #1 - Observed that the image is still not crisper

Please find the screenshot

vmpstr@, Could you please confirm on the fix in comment #17
649046.png
10.9 KB View Download
Comment #17 is not the fix, I'm just fixing some tests so that I can land the fix. The next patch on this bug should be the fix, I'm planning on landing it ASAP.
Project Member

Comment 20 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7a49649a96774df16e8f1401137e557e6877a4a1

commit 7a49649a96774df16e8f1401137e557e6877a4a1
Author: vmpstr <vmpstr@chromium.org>
Date: Tue Sep 27 23:03:55 2016

cc: Use medium filter quality for downscales.

This patch makes us use a medium filter quality if one of the dimensions
of an image is being downscaled. There are a couple of things to watch
out for:

1. This may cause worse quality on some images
2. This may regress memory, since mips are larger cache objects than
   specific smallest size.

R=chrishtr@chromium.org, enne@chromium.org
BUG= 649046 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2361243002
Cr-Commit-Position: refs/heads/master@{#421375}

[modify] https://crrev.com/7a49649a96774df16e8f1401137e557e6877a4a1/cc/tiles/software_image_decode_controller.cc
[modify] https://crrev.com/7a49649a96774df16e8f1401137e557e6877a4a1/cc/tiles/software_image_decode_controller_unittest.cc
[modify] https://crrev.com/7a49649a96774df16e8f1401137e557e6877a4a1/third_party/WebKit/LayoutTests/TestExpectations

Labels: M-54
Vlad could you merge this to 54? It would help out greensock I think.
Project Member

Comment 22 by bugdroid1@chromium.org, Sep 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb149c8d9269e23044fe6a5ce27b087f2c57a226

commit cb149c8d9269e23044fe6a5ce27b087f2c57a226
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Wed Sep 28 18:41:00 2016

Auto-rebaseline for r421375

https://chromium.googlesource.com/chromium/src/+/7a49649a9

BUG= 649046 
TBR=vmpstr@chromium.org

Review URL: https://codereview.chromium.org/2377073002 .

Cr-Commit-Position: refs/heads/master@{#421589}

[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/compositing/img-layer-object-fit-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/backgrounds/size/contain-and-cover-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/backgrounds/size/contain-and-cover-zoomed-expected.png
[add] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/backgrounds/size/scaled-sprited-background-expected.png
[add] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/backgrounds/size/scaled-sprited-background-expected.txt
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/borders/border-image-side-reduction-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/images/exif-orientation-height-image-document-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/images/rgb-png-with-cmyk-color-profile-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/fast/images/ycbcr-with-cmyk-color-profile-expected.png
[add] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/android/compositing/img-layer-object-fit-expected.png
[add] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/android/fast/images/color-profile-image-profile-match-expected.png
[add] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/android/fast/images/jpeg-yuv-progressive-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/compositing/img-layer-object-fit-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-image-side-reduction-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/borders/inline-mask-overlay-image-outset-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/forms/input-appearance-height-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-background-image-cover-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-background-image-repeat-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-border-radius-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-image-canvas-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-image-canvas-pattern-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-image-filter-all-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-mask-image-svg-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/images/color-profile-object-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/fast/text/emoji-web-font-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/media/color-profile-video-poster-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/media/video-poster-scale-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/media/video-zoom-controls-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/animate-elem-30-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/struct-image-02-b-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/struct-image-06-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/struct-image-08-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/struct-image-10-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/carto.net/scrollbar-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/custom/createImageElement2-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/custom/image-parent-translation-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/custom/image-small-width-height-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/custom/pointer-events-image-css-transform-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/custom/pointer-events-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/custom/text-image-opacity-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/hixie/perf/004-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1296-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1430-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2981-2-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4093-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4284-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug56563-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug625-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug6404-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/bloomberg-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/col_widths_auto_autoFix-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/misc-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/other/cell_widths-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug6933-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/input-appearance-height-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/emoji-web-font-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.10/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/input-appearance-height-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/text/emoji-web-font-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/tables/mozilla/core/bloomberg-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/tables/mozilla/other/cell_widths-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-gradient-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-image-color-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-image-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-image-svg-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/background-blend-mode-tiled-gradient-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/effect-background-blend-mode-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/effect-background-blend-mode-stacking-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/css3/blending/mix-blend-mode-isolated-group-1-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/forms/input-appearance-height-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-background-image-cover-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-background-image-repeat-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-border-radius-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-image-canvas-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-image-canvas-pattern-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-image-filter-all-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-image-profile-match-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-mask-image-svg-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/images/color-profile-object-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/fast/text/emoji-web-font-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/media/color-profile-video-poster-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/media/video-zoom-controls-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-update-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/scrollbars/listbox-scrollbar-combinations-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-06-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-08-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-10-t-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/carto.net/scrollbar-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/carto.net/selectionlist-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/createImageElement-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/createImageElement2-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/image-parent-translation-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/image-small-width-height-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/js-update-image-and-display-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/js-update-image-and-display2-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/js-update-image-and-display3-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/pointer-events-image-css-transform-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/pointer-events-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/text-image-opacity-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/perf/004-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug101674-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug11026-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/cb149c8d9269e23044fe6a5ce27b087f2c57a226/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug1296-expected.png
[modify] https://crrev.com/cb149c8d9269e23044
Labels: -Needs-Feedback Merge-Request-54
Requesting a merge of patch in #20 to m54.

Comment 24 by dimu@chromium.org, Sep 29 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 25 by bugdroid1@chromium.org, Sep 29 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6705aeee19b3902e725e551f531d8e891595fa6c

commit 6705aeee19b3902e725e551f531d8e891595fa6c
Author: Vladimir Levin <vmpstr@chromium.org>
Date: Thu Sep 29 21:13:00 2016

cc: Use medium filter quality for downscales.

This patch makes us use a medium filter quality if one of the dimensions
of an image is being downscaled. There are a couple of things to watch
out for:

1. This may cause worse quality on some images
2. This may regress memory, since mips are larger cache objects than
   specific smallest size.

R=chrishtr@chromium.org, enne@chromium.org
BUG= 649046 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2361243002
Cr-Commit-Position: refs/heads/master@{#421375}
(cherry picked from commit 7a49649a96774df16e8f1401137e557e6877a4a1)

Review URL: https://codereview.chromium.org/2382663004 .

Cr-Commit-Position: refs/branch-heads/2840@{#585}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/6705aeee19b3902e725e551f531d8e891595fa6c/cc/tiles/software_image_decode_controller.cc
[modify] https://crrev.com/6705aeee19b3902e725e551f531d8e891595fa6c/cc/tiles/software_image_decode_controller_unittest.cc

Labels: TE-Verified-54.0.2840.50 TE-Verified-M54
Tested the feature on win10 mac 10.11.6 and Linux 14.04 chrome version 54.0.2840.50 - Observed that the image is crisper 

Please find the screenshot

Fix works as expected. Hence adding the TE-Verified labels
649046.png
10.4 KB View Download
Project Member

Comment 27 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6705aeee19b3902e725e551f531d8e891595fa6c

commit 6705aeee19b3902e725e551f531d8e891595fa6c
Author: Vladimir Levin <vmpstr@chromium.org>
Date: Thu Sep 29 21:13:00 2016

cc: Use medium filter quality for downscales.

This patch makes us use a medium filter quality if one of the dimensions
of an image is being downscaled. There are a couple of things to watch
out for:

1. This may cause worse quality on some images
2. This may regress memory, since mips are larger cache objects than
   specific smallest size.

R=chrishtr@chromium.org, enne@chromium.org
BUG= 649046 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2361243002
Cr-Commit-Position: refs/heads/master@{#421375}
(cherry picked from commit 7a49649a96774df16e8f1401137e557e6877a4a1)

Review URL: https://codereview.chromium.org/2382663004 .

Cr-Commit-Position: refs/branch-heads/2840@{#585}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/6705aeee19b3902e725e551f531d8e891595fa6c/cc/tiles/software_image_decode_controller.cc
[modify] https://crrev.com/6705aeee19b3902e725e551f531d8e891595fa6c/cc/tiles/software_image_decode_controller_unittest.cc

Vlad is this bug done?
Status: Fixed (was: Assigned)

Comment 30 Deleted

I apologize - I hadn't forced an update of Chrome before my last post. It does seem to render much better now, thanks. 
Glad to hear it!

Sign in to add a comment