Use half-width GPU tiles for non-viewport-width layers |
|||
Issue description
With GPU raster, tiles are always viewport-width. When a layer is wider then the viewport (horizontal scrolling), we will end up wasting an entire viewport-width of memory to display the content:
+-----------+
| Viewport |
| |
+---------|-+---------|-+
| Tile 1 | | Tile 2| |
+---------|-+---------|-+
| |
+-----------+
If we were to halve the tile width in these cases, we would save half a viewport-width of memory:
+-----------+
| Viewport |
| |
+----|-+-----+---|-+
| T1 | | T2 | T3| |
+----|-+-----+---|-+
| |
+-----------+
This saves ~25% of the memory needed to display such a layer, and reduces the raster cost.
As the memory savings are valuable, I'm enabling this ASAP on low-end Android. But we should evaluate this on all OSes.
Note to self: Drop priority from 1 > 3 upon landing the low-end Android part.
,
Aug 10 2017
,
Aug 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/177134823106e782420b7ce5150c2aa137014ee2 commit 177134823106e782420b7ce5150c2aa137014ee2 Author: Xida Chen <xidachen@chromium.org> Date: Wed Aug 16 02:35:04 2017 Use half-width GPU tiles on low-end android devices On low-end android devices where there is only 512MB memory, this CL makes the tile size to be half_width when the content size is larger than the screen width. We should see obvious memory savings in that case. Bug: 742483 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ib291bfa077e41363e587a483e25287a1ee0aac37 Reviewed-on: https://chromium-review.googlesource.com/612149 Commit-Queue: Xida Chen <xidachen@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#494673} [modify] https://crrev.com/177134823106e782420b7ce5150c2aa137014ee2/cc/layers/picture_layer_impl.cc [modify] https://crrev.com/177134823106e782420b7ce5150c2aa137014ee2/cc/layers/picture_layer_impl_unittest.cc [modify] https://crrev.com/177134823106e782420b7ce5150c2aa137014ee2/cc/trees/layer_tree_settings.h [modify] https://crrev.com/177134823106e782420b7ce5150c2aa137014ee2/content/renderer/gpu/render_widget_compositor.cc
,
Aug 16 2017
,
Aug 19 2017
Any idea what the memory impact of this change is?
,
Aug 21 2017
mariakhomenko@: we should probably wait a little longer until we have enough samples from dev channel.
,
Aug 21 2017
This really only impacts sites that scroll horizontally, which is a bit limited. Maps PWA was a good example of this, and it should cut down memory when panning around the map, but I don't expect a large impact in general. |
|||
►
Sign in to add a comment |
|||
Comment 1 by ericrk@chromium.org
, Aug 10 2017Owner: xidac...@chromium.org
Status: Assigned (was: Started)