From 55271a170bf4bfddfad289730743126b2cde0efc Mon Sep 17 00:00:00 2001 From: oshima Date: Wed, 1 Apr 2015 17:42:46 -0700 Subject: [PATCH] Adjust the default tile size based on device scale factor on ChromeOS BUG=365877 R=reveman@chromium.org Review URL: https://codereview.chromium.org/1046313002 Cr-Commit-Position: refs/heads/master@{#323379} --- content/renderer/gpu/render_widget_compositor.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc index 611ed022694a..f253358a24f2 100644 --- a/content/renderer/gpu/render_widget_compositor.cc +++ b/content/renderer/gpu/render_widget_compositor.cc @@ -108,7 +108,7 @@ cc::LayerSelectionBound ConvertWebSelectionBound( return cc_bound; } -gfx::Size CalculateDefaultTileSize() { +gfx::Size CalculateDefaultTileSize(RenderWidget* widget) { int default_tile_size = 256; #if defined(OS_ANDROID) // TODO(epenner): unify this for all platforms if it @@ -151,7 +151,12 @@ gfx::Size CalculateDefaultTileSize() { if (numTiles >= 40) default_tile_size = 512; } +#elif defined(OS_CHROMEOS) + // Use 512 for high DPI (dsf=2.0f) devices. + if (widget->screen_info().deviceScaleFactor >= 2.0f) + default_tile_size = 512; #endif + return gfx::Size(default_tile_size, default_tile_size); } @@ -212,7 +217,7 @@ void RenderWidgetCompositor::Initialize() { !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); settings.use_display_lists = cmd->HasSwitch(switches::kEnableSlimmingPaint); - settings.default_tile_size = CalculateDefaultTileSize(); + settings.default_tile_size = CalculateDefaultTileSize(widget_); if (cmd->HasSwitch(switches::kDefaultTileWidth)) { int tile_width = 0; GetSwitchValueAsInt(*cmd, -- 2.11.4.GIT