| Index: cc/picture_pile_impl.cc
|
| ===================================================================
|
| --- cc/picture_pile_impl.cc (revision 170195)
|
| +++ cc/picture_pile_impl.cc (working copy)
|
| @@ -4,7 +4,9 @@
|
|
|
| #include "base/debug/trace_event.h"
|
| #include "cc/picture_pile_impl.h"
|
| +#include "cc/rendering_stats.h"
|
| #include "third_party/skia/include/core/SkCanvas.h"
|
| +#include "third_party/skia/include/core/SkSize.h"
|
|
|
| namespace cc {
|
|
|
| @@ -28,7 +30,10 @@
|
| return clone;
|
| }
|
|
|
| -void PicturePileImpl::Raster(SkCanvas* canvas, gfx::Rect rect) {
|
| +void PicturePileImpl::Raster(SkCanvas* canvas, gfx::Rect rect,
|
| + RenderingStats* stats) {
|
| + base::TimeTicks rasterizeBeginTime = base::TimeTicks::Now();
|
| +
|
| // TODO(enne): do this more efficiently, i.e. top down with Skia clips
|
| canvas->save();
|
| canvas->translate(-rect.x(), -rect.y());
|
| @@ -39,8 +44,14 @@
|
| if (!pile_[i]->LayerRect().Intersects(rect))
|
| continue;
|
| pile_[i]->Raster(canvas);
|
| +
|
| + SkISize deviceSize = canvas->getDeviceSize();
|
| + stats->totalPixelsRasterized += deviceSize.width() * deviceSize.height();
|
| }
|
| canvas->restore();
|
| +
|
| + stats->totalRasterizeTimeInSeconds += (base::TimeTicks::Now() -
|
| + rasterizeBeginTime).InSecondsF();
|
| }
|
|
|
| } // namespace cc
|
|
|