Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(563)

Side by Side Diff: cc/resources/picture_pile.cc

Issue 1135073002: Revert "cc: Add UMA stats for record and raster time." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/resources/display_list_recording_source.cc ('k') | cc/resources/tile_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/resources/picture_pile.h" 5 #include "cc/resources/picture_pile.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <vector> 9 #include <vector>
10 10
11 #include "cc/base/histograms.h"
12 #include "cc/base/region.h" 11 #include "cc/base/region.h"
13 #include "cc/resources/picture_pile_impl.h" 12 #include "cc/resources/picture_pile_impl.h"
14 #include "skia/ext/analysis_canvas.h" 13 #include "skia/ext/analysis_canvas.h"
15 14
16 namespace { 15 namespace {
17 // Layout pixel buffer around the visible layer rect to record. Any base 16 // Layout pixel buffer around the visible layer rect to record. Any base
18 // picture that intersects the visible layer rect expanded by this distance 17 // picture that intersects the visible layer rect expanded by this distance
19 // will be recorded. 18 // will be recorded.
20 const int kPixelDistanceToRecord = 8000; 19 const int kPixelDistanceToRecord = 8000;
21 // We don't perform solid color analysis on images that have more than 10 skia 20 // We don't perform solid color analysis on images that have more than 10 skia
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 142
144 *record_rects = vertical_clustering; 143 *record_rects = vertical_clustering;
145 } 144 }
146 145
147 #ifdef NDEBUG 146 #ifdef NDEBUG
148 const bool kDefaultClearCanvasSetting = false; 147 const bool kDefaultClearCanvasSetting = false;
149 #else 148 #else
150 const bool kDefaultClearCanvasSetting = true; 149 const bool kDefaultClearCanvasSetting = true;
151 #endif 150 #endif
152 151
153 DEFINE_SCOPED_UMA_HISTOGRAM_AREA_TIMER(
154 ScopedPicturePileUpdateTimer,
155 "Compositing.PicturePile.UpdateUs",
156 "Compositing.PicturePile.UpdateInvalidatedAreaPerMs");
157
158 } // namespace 152 } // namespace
159 153
160 namespace cc { 154 namespace cc {
161 155
162 PicturePile::PicturePile(float min_contents_scale, 156 PicturePile::PicturePile(float min_contents_scale,
163 const gfx::Size& tile_grid_size) 157 const gfx::Size& tile_grid_size)
164 : min_contents_scale_(0), 158 : min_contents_scale_(0),
165 slow_down_raster_scale_factor_for_debug_(0), 159 slow_down_raster_scale_factor_for_debug_(0),
166 gather_pixel_refs_(false), 160 gather_pixel_refs_(false),
167 has_any_recordings_(false), 161 has_any_recordings_(false),
(...skipping 12 matching lines...) Expand all
180 PicturePile::~PicturePile() { 174 PicturePile::~PicturePile() {
181 } 175 }
182 176
183 bool PicturePile::UpdateAndExpandInvalidation( 177 bool PicturePile::UpdateAndExpandInvalidation(
184 ContentLayerClient* painter, 178 ContentLayerClient* painter,
185 Region* invalidation, 179 Region* invalidation,
186 const gfx::Size& layer_size, 180 const gfx::Size& layer_size,
187 const gfx::Rect& visible_layer_rect, 181 const gfx::Rect& visible_layer_rect,
188 int frame_number, 182 int frame_number,
189 RecordingSource::RecordingMode recording_mode) { 183 RecordingSource::RecordingMode recording_mode) {
190 ScopedPicturePileUpdateTimer timer;
191
192 gfx::Rect interest_rect = visible_layer_rect; 184 gfx::Rect interest_rect = visible_layer_rect;
193 interest_rect.Inset(-pixel_record_distance_, -pixel_record_distance_); 185 interest_rect.Inset(-pixel_record_distance_, -pixel_record_distance_);
194 recorded_viewport_ = interest_rect; 186 recorded_viewport_ = interest_rect;
195 recorded_viewport_.Intersect(gfx::Rect(layer_size)); 187 recorded_viewport_.Intersect(gfx::Rect(layer_size));
196 188
197 bool updated = ApplyInvalidationAndResize(interest_rect, invalidation, 189 bool updated = ApplyInvalidationAndResize(interest_rect, invalidation,
198 layer_size, frame_number); 190 layer_size, frame_number);
199
200 // Count the area that is being invalidated.
201 Region recorded_invalidation(*invalidation);
202 recorded_invalidation.Intersect(recorded_viewport_);
203 for (Region::Iterator it(recorded_invalidation); it.has_rect(); it.next())
204 timer.AddArea(it.rect().size().GetArea());
205
206 std::vector<gfx::Rect> invalid_tiles; 191 std::vector<gfx::Rect> invalid_tiles;
207 GetInvalidTileRects(interest_rect, &invalid_tiles); 192 GetInvalidTileRects(interest_rect, &invalid_tiles);
208 std::vector<gfx::Rect> record_rects; 193 std::vector<gfx::Rect> record_rects;
209 ClusterTiles(invalid_tiles, &record_rects); 194 ClusterTiles(invalid_tiles, &record_rects);
210 195
211 if (record_rects.empty()) 196 if (record_rects.empty())
212 return updated; 197 return updated;
213 198
214 CreatePictures(painter, recording_mode, record_rects); 199 CreatePictures(painter, recording_mode, record_rects);
215 200
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 675
691 void PicturePile::SetBufferPixels(int new_buffer_pixels) { 676 void PicturePile::SetBufferPixels(int new_buffer_pixels) {
692 if (new_buffer_pixels == buffer_pixels()) 677 if (new_buffer_pixels == buffer_pixels())
693 return; 678 return;
694 679
695 Clear(); 680 Clear();
696 tiling_.SetBorderTexels(new_buffer_pixels); 681 tiling_.SetBorderTexels(new_buffer_pixels);
697 } 682 }
698 683
699 } // namespace cc 684 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/display_list_recording_source.cc ('k') | cc/resources/tile_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698