OLD | NEW |
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 "base/debug/trace_event.h" | 5 #include "base/debug/trace_event.h" |
6 #include "cc/picture_pile_impl.h" | 6 #include "cc/picture_pile_impl.h" |
7 #include "cc/region.h" | 7 #include "cc/region.h" |
8 #include "cc/rendering_stats.h" | 8 #include "cc/rendering_stats.h" |
9 #include "third_party/skia/include/core/SkCanvas.h" | 9 #include "third_party/skia/include/core/SkCanvas.h" |
10 #include "third_party/skia/include/core/SkSize.h" | 10 #include "third_party/skia/include/core/SkSize.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 } | 58 } |
59 | 59 |
60 void PicturePileImpl::Raster( | 60 void PicturePileImpl::Raster( |
61 SkCanvas* canvas, | 61 SkCanvas* canvas, |
62 gfx::Rect content_rect, | 62 gfx::Rect content_rect, |
63 float contents_scale, | 63 float contents_scale, |
64 RenderingStats* stats) { | 64 RenderingStats* stats) { |
65 | 65 |
66 DCHECK(contents_scale >= min_contents_scale_); | 66 DCHECK(contents_scale >= min_contents_scale_); |
67 | 67 |
68 base::TimeTicks rasterize_begin_time; | |
69 if (stats) | |
70 rasterize_begin_time = base::TimeTicks::Now(); | |
71 | |
72 canvas->save(); | 68 canvas->save(); |
73 canvas->translate(-content_rect.x(), -content_rect.y()); | 69 canvas->translate(-content_rect.x(), -content_rect.y()); |
74 canvas->clipRect(gfx::RectToSkRect(content_rect)); | 70 canvas->clipRect(gfx::RectToSkRect(content_rect)); |
75 | 71 |
76 gfx::Rect layer_rect = gfx::ToEnclosingRect( | 72 gfx::Rect layer_rect = gfx::ToEnclosingRect( |
77 gfx::ScaleRect(content_rect, 1.f / contents_scale)); | 73 gfx::ScaleRect(content_rect, 1.f / contents_scale)); |
78 | 74 |
79 Region unclipped(content_rect); | 75 Region unclipped(content_rect); |
80 for (TilingData::Iterator tile_iter(&tiling_, layer_rect); | 76 for (TilingData::Iterator tile_iter(&tiling_, layer_rect); |
81 tile_iter; ++tile_iter) { | 77 tile_iter; ++tile_iter) { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 gfx::RectToSkRect(content_clip), | 109 gfx::RectToSkRect(content_clip), |
114 SkRegion::kDifference_Op); | 110 SkRegion::kDifference_Op); |
115 unclipped.Subtract(content_clip); | 111 unclipped.Subtract(content_clip); |
116 | 112 |
117 if (stats) | 113 if (stats) |
118 stats->totalPixelsRasterized += | 114 stats->totalPixelsRasterized += |
119 content_clip.width() * content_clip.height(); | 115 content_clip.width() * content_clip.height(); |
120 } | 116 } |
121 } | 117 } |
122 canvas->restore(); | 118 canvas->restore(); |
123 | |
124 if (stats) | |
125 stats->totalRasterizeTime += base::TimeTicks::Now() - rasterize_begin_time; | |
126 } | 119 } |
127 | 120 |
128 void PicturePileImpl::GatherPixelRefs( | 121 void PicturePileImpl::GatherPixelRefs( |
129 gfx::Rect content_rect, | 122 gfx::Rect content_rect, |
130 float contents_scale, | 123 float contents_scale, |
131 std::list<skia::LazyPixelRef*>& pixel_refs) { | 124 std::list<skia::LazyPixelRef*>& pixel_refs) { |
132 std::list<skia::LazyPixelRef*> result; | 125 std::list<skia::LazyPixelRef*> result; |
133 | 126 |
134 gfx::Rect layer_rect = gfx::ToEnclosingRect( | 127 gfx::Rect layer_rect = gfx::ToEnclosingRect( |
135 gfx::ScaleRect(content_rect, 1.f / contents_scale)); | 128 gfx::ScaleRect(content_rect, 1.f / contents_scale)); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 SkPicture::kUsePathBoundsForClip_RecordingFlag); | 162 SkPicture::kUsePathBoundsForClip_RecordingFlag); |
170 | 163 |
171 RenderingStats stats; | 164 RenderingStats stats; |
172 Raster(canvas, layer_rect, 1.0, &stats); | 165 Raster(canvas, layer_rect, 1.0, &stats); |
173 picture->endRecording(); | 166 picture->endRecording(); |
174 | 167 |
175 return picture; | 168 return picture; |
176 } | 169 } |
177 | 170 |
178 } // namespace cc | 171 } // namespace cc |
OLD | NEW |