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

Issue 759334 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Oct 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Force anti-aliasing off for the UI

Project Member Reported by reve...@chromium.org, Aug 26 2017

Issue description

The UI doesn't produce contents that require anti-aliasing and expects seamless transitions between using temporary render surfaces and drawing layers directly.

Only solid and content layers support anti-aliasing when being rendered directly. The result is that anti-aliasing is suddenly added to other layers whenever a RS is needed to display them. Many UI effects use render surfaces and more are expected in the future.

We should either add anti-aliasing support to all layer types or disable layer anti-aliasing completely for the UI. The latter is preferred as it improves performance and increase cases where we can use HW overlays.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 3 2017

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

commit 33d44ee3dd4423755c4dca643133d082f3a6943a
Author: David Reveman <reveman@chromium.org>
Date: Tue Oct 03 07:31:53 2017

cc: Disable edge anti-aliasing for the UI

The UI doesn't produce contents that require edge anti-aliasing
and expects seamless transitions between using temporary render
surfaces and drawing layers directly. Anti-aliasing will be used
when rendering layers using a temporary render surface so to
allow the UI to force render surfaces for improved performance
we need to make sure anti-aliasing is never used there to avoid
unexpected transitions between aliasing and anti-aliasing.

This adds a flag that is consistent with what we already have
for solid color draw quads that allows anti-aliasing to be
turned off for render surface and tile draw quads. A new LT
setting is also added, which allows the UI to use this flag
to disable edge AA.

Bug:  759334 
Test: cc_unittests --gtest_filter=GLRendererPixelTest.*ForceAntiAliasingOff
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I85398ae225663e14cd38457ca6df8e2231c716b6
Reviewed-on: https://chromium-review.googlesource.com/636274
Commit-Queue: David Reveman <reveman@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505977}
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/ipc/cc_param_traits_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/ipc/cc_serialization_perftest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/layers/render_surface_impl.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/layers/render_surface_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/layers/solid_color_layer_impl.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/layers/solid_color_layer_impl.h
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/test/render_pass_test_utils.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/content_draw_quad_base.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/content_draw_quad_base.h
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/draw_quad_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/picture_draw_quad.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/render_pass_draw_quad.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/render_pass_draw_quad.h
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/render_pass_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/tile_draw_quad.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/common/quads/tile_draw_quad.h
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/service/display/overlay_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/service/display/renderer_pixeltest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/service/display/software_renderer_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/service/display/surface_aggregator.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/components/viz/test/surface_hittest_test_helpers.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/services/viz/public/cpp/compositing/OWNERS
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/services/viz/public/cpp/compositing/quads_struct_traits.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/services/viz/public/cpp/compositing/quads_struct_traits.h
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/services/viz/public/interfaces/compositing/quads.mojom
[modify] https://crrev.com/33d44ee3dd4423755c4dca643133d082f3a6943a/ui/compositor/compositor.cc

Status: Fixed (was: Assigned)

Sign in to add a comment