summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-09 03:01:34 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-09 03:01:34 +0000
commitd3a5a0b2f0cc1fc01ee544d1b382334a36a845d3 (patch)
treef0d9b6d9109f073c960d0ee1d82ee9a74a065c58 /cc
parentf6e2ad03db6f1ed59e817615fbc2a0523c6fe509 (diff)
downloadchromium_src-d3a5a0b2f0cc1fc01ee544d1b382334a36a845d3.zip
chromium_src-d3a5a0b2f0cc1fc01ee544d1b382334a36a845d3.tar.gz
chromium_src-d3a5a0b2f0cc1fc01ee544d1b382334a36a845d3.tar.bz2
cc: Chromify the OverdrawMetrics class.
Style-only change. Make the OverdrawMetrics class use chromium style. R=jamesr,enne Review URL: https://chromiumcodereview.appspot.com/12728002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187129 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r--cc/layer_tree_host.cc6
-rw-r--r--cc/layer_tree_host_impl.cc2
-rw-r--r--cc/occlusion_tracker.cc2
-rw-r--r--cc/overdraw_metrics.cc376
-rw-r--r--cc/overdraw_metrics.h166
-rw-r--r--cc/quad_culler.cc4
-rw-r--r--cc/quad_culler_unittest.cc108
-rw-r--r--cc/tiled_layer.cc6
-rw-r--r--cc/tiled_layer_unittest.cc144
9 files changed, 440 insertions, 374 deletions
diff --git a/cc/layer_tree_host.cc b/cc/layer_tree_host.cc
index e6616c7..7a5b6e7 100644
--- a/cc/layer_tree_host.cc
+++ b/cc/layer_tree_host.cc
@@ -671,8 +671,8 @@ void LayerTreeHost::prioritizeTextures(const LayerList& renderSurfaceLayerList,
setPrioritiesForLayers(renderSurfaceLayerList);
setPrioritiesForSurfaces(memoryForRenderSurfacesMetric);
- metrics.didUseContentsTextureMemoryBytes(m_contentsTextureManager->memoryAboveCutoffBytes());
- metrics.didUseRenderSurfaceTextureMemoryBytes(memoryForRenderSurfacesMetric);
+ metrics.DidUseContentsTextureMemoryBytes(m_contentsTextureManager->memoryAboveCutoffBytes());
+ metrics.DidUseRenderSurfaceTextureMemoryBytes(memoryForRenderSurfacesMetric);
m_contentsTextureManager->prioritizeTextures();
}
@@ -755,7 +755,7 @@ bool LayerTreeHost::paintLayerContents(const LayerList& renderSurfaceLayerList,
occlusionTracker.LeaveLayer(it);
}
- occlusionTracker.OverdrawMetrics().recordMetrics(this);
+ occlusionTracker.OverdrawMetrics().RecordMetrics(this);
return needMoreUpdates;
}
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
index 876e913..b8093ce 100644
--- a/cc/layer_tree_host_impl.cc
+++ b/cc/layer_tree_host_impl.cc
@@ -546,7 +546,7 @@ bool LayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
}
if (drawFrame)
- occlusionTracker.OverdrawMetrics().recordMetrics(this);
+ occlusionTracker.OverdrawMetrics().RecordMetrics(this);
removeRenderPasses(CullRenderPassesWithNoQuads(), frame);
m_renderer->DecideRenderPassAllocationsForFrame(frame.renderPasses);
diff --git a/cc/occlusion_tracker.cc b/cc/occlusion_tracker.cc
index 89ae8b9..15c4b79 100644
--- a/cc/occlusion_tracker.cc
+++ b/cc/occlusion_tracker.cc
@@ -19,7 +19,7 @@ template <typename LayerType, typename RenderSurfaceType>
OcclusionTrackerBase<LayerType, RenderSurfaceType>::OcclusionTrackerBase(
gfx::Rect screen_space_clip_rect, bool record_metrics_for_frame)
: screen_space_clip_rect_(screen_space_clip_rect),
- overdraw_metrics_(OverdrawMetrics::create(record_metrics_for_frame)),
+ overdraw_metrics_(OverdrawMetrics::Create(record_metrics_for_frame)),
occluding_screen_space_rects_(NULL),
non_occluding_screen_space_rects_(NULL) {}
diff --git a/cc/overdraw_metrics.cc b/cc/overdraw_metrics.cc
index c1ab20f..0ed58d1 100644
--- a/cc/overdraw_metrics.cc
+++ b/cc/overdraw_metrics.cc
@@ -15,205 +15,253 @@
namespace cc {
-OverdrawMetrics::OverdrawMetrics(bool recordMetricsForFrame)
- : m_recordMetricsForFrame(recordMetricsForFrame)
- , m_pixelsPainted(0)
- , m_pixelsUploadedOpaque(0)
- , m_pixelsUploadedTranslucent(0)
- , m_tilesCulledForUpload(0)
- , m_contentsTextureUseBytes(0)
- , m_renderSurfaceTextureUseBytes(0)
- , m_pixelsDrawnOpaque(0)
- , m_pixelsDrawnTranslucent(0)
- , m_pixelsCulledForDrawing(0)
-{
-}
-
-static inline float wedgeProduct(const gfx::PointF& p1, const gfx::PointF& p2)
-{
- return p1.x() * p2.y() - p1.y() * p2.x();
+OverdrawMetrics::OverdrawMetrics(bool record_metrics_for_frame)
+ : record_metrics_for_frame_(record_metrics_for_frame),
+ pixels_painted_(0),
+ pixels_uploaded_opaque_(0),
+ pixels_uploaded_translucent_(0),
+ tiles_culled_for_upload_(0),
+ contents_texture_use_bytes_(0),
+ render_surface_texture_use_bytes_(0),
+ pixels_drawn_opaque_(0),
+ pixels_drawn_translucent_(0),
+ pixels_culled_for_drawing_(0) {}
+
+static inline float WedgeProduct(gfx::PointF p1, gfx::PointF p2) {
+ return p1.x() * p2.y() - p1.y() * p2.x();
}
// Calculates area of an arbitrary convex polygon with up to 8 points.
-static inline float polygonArea(const gfx::PointF points[8], int numPoints)
-{
- if (numPoints < 3)
- return 0;
-
- float area = 0;
- for (int i = 0; i < numPoints; ++i)
- area += wedgeProduct(points[i], points[(i+1)%numPoints]);
- return fabs(0.5f * area);
+static inline float PolygonArea(gfx::PointF points[8], int num_points) {
+ if (num_points < 3)
+ return 0;
+
+ float area = 0;
+ for (int i = 0; i < num_points; ++i)
+ area += WedgeProduct(points[i], points[(i+1)%num_points]);
+ return fabs(0.5f * area);
}
-// Takes a given quad, maps it by the given transformation, and gives the area of the resulting polygon.
-static inline float areaOfMappedQuad(const gfx::Transform& transform, const gfx::QuadF& quad)
-{
- gfx::PointF clippedQuad[8];
- int numVerticesInClippedQuad = 0;
- MathUtil::mapClippedQuad(transform, quad, clippedQuad, numVerticesInClippedQuad);
- return polygonArea(clippedQuad, numVerticesInClippedQuad);
+// Takes a given quad, maps it by the given transformation, and gives the area
+// of the resulting polygon.
+static inline float AreaOfMappedQuad(const gfx::Transform& transform,
+ const gfx::QuadF& quad) {
+ gfx::PointF clippedQuad[8];
+ int num_vertices_in_clipped_quad = 0;
+ MathUtil::mapClippedQuad(transform,
+ quad,
+ clippedQuad,
+ num_vertices_in_clipped_quad);
+ return PolygonArea(clippedQuad, num_vertices_in_clipped_quad);
}
-void OverdrawMetrics::didPaint(const gfx::Rect& paintedRect)
-{
- if (!m_recordMetricsForFrame)
- return;
+void OverdrawMetrics::DidPaint(gfx::Rect painted_rect) {
+ if (!record_metrics_for_frame_)
+ return;
- m_pixelsPainted += static_cast<float>(paintedRect.width()) * paintedRect.height();
+ pixels_painted_ +=
+ static_cast<float>(painted_rect.width()) * painted_rect.height();
}
-void OverdrawMetrics::didCullTilesForUpload(int count)
-{
- if (m_recordMetricsForFrame)
- m_tilesCulledForUpload += count;
+void OverdrawMetrics::DidCullTilesForUpload(int count) {
+ if (record_metrics_for_frame_)
+ tiles_culled_for_upload_ += count;
}
-void OverdrawMetrics::didUpload(const gfx::Transform& transformToTarget, const gfx::Rect& uploadRect, const gfx::Rect& opaqueRect)
-{
- if (!m_recordMetricsForFrame)
- return;
-
- float uploadArea = areaOfMappedQuad(transformToTarget, gfx::QuadF(uploadRect));
- float uploadOpaqueArea = areaOfMappedQuad(transformToTarget, gfx::QuadF(gfx::IntersectRects(opaqueRect, uploadRect)));
-
- m_pixelsUploadedOpaque += uploadOpaqueArea;
- m_pixelsUploadedTranslucent += uploadArea - uploadOpaqueArea;
+void OverdrawMetrics::DidUpload(const gfx::Transform& transform_to_target,
+ gfx::Rect upload_rect,
+ gfx::Rect opaque_rect) {
+ if (!record_metrics_for_frame_)
+ return;
+
+ float upload_area =
+ AreaOfMappedQuad(transform_to_target, gfx::QuadF(upload_rect));
+ float upload_opaque_area =
+ AreaOfMappedQuad(transform_to_target,
+ gfx::QuadF(gfx::IntersectRects(opaque_rect,
+ upload_rect)));
+
+ pixels_uploaded_opaque_ += upload_opaque_area;
+ pixels_uploaded_translucent_ += upload_area - upload_opaque_area;
}
-void OverdrawMetrics::didUseContentsTextureMemoryBytes(size_t contentsTextureUseBytes)
-{
- if (!m_recordMetricsForFrame)
- return;
+void OverdrawMetrics::DidUseContentsTextureMemoryBytes(
+ size_t contents_texture_use_bytes) {
+ if (!record_metrics_for_frame_)
+ return;
- m_contentsTextureUseBytes += contentsTextureUseBytes;
+ contents_texture_use_bytes_ += contents_texture_use_bytes;
}
-void OverdrawMetrics::didUseRenderSurfaceTextureMemoryBytes(size_t renderSurfaceUseBytes)
-{
- if (!m_recordMetricsForFrame)
- return;
+void OverdrawMetrics::DidUseRenderSurfaceTextureMemoryBytes(
+ size_t render_surface_use_bytes) {
+ if (!record_metrics_for_frame_)
+ return;
- m_renderSurfaceTextureUseBytes += renderSurfaceUseBytes;
+ render_surface_texture_use_bytes_ += render_surface_use_bytes;
}
-void OverdrawMetrics::didCullForDrawing(const gfx::Transform& transformToTarget, const gfx::Rect& beforeCullRect, const gfx::Rect& afterCullRect)
-{
- if (!m_recordMetricsForFrame)
- return;
+void OverdrawMetrics::DidCullForDrawing(
+ const gfx::Transform& transform_to_target,
+ gfx::Rect before_cull_rect,
+ gfx::Rect after_cull_rect) {
+ if (!record_metrics_for_frame_)
+ return;
- float beforeCullArea = areaOfMappedQuad(transformToTarget, gfx::QuadF(beforeCullRect));
- float afterCullArea = areaOfMappedQuad(transformToTarget, gfx::QuadF(afterCullRect));
+ float before_cull_area =
+ AreaOfMappedQuad(transform_to_target, gfx::QuadF(before_cull_rect));
+ float after_cull_area =
+ AreaOfMappedQuad(transform_to_target, gfx::QuadF(after_cull_rect));
- m_pixelsCulledForDrawing += beforeCullArea - afterCullArea;
+ pixels_culled_for_drawing_ += before_cull_area - after_cull_area;
}
-void OverdrawMetrics::didDraw(const gfx::Transform& transformToTarget, const gfx::Rect& afterCullRect, const gfx::Rect& opaqueRect)
-{
- if (!m_recordMetricsForFrame)
- return;
-
- float afterCullArea = areaOfMappedQuad(transformToTarget, gfx::QuadF(afterCullRect));
- float afterCullOpaqueArea = areaOfMappedQuad(transformToTarget, gfx::QuadF(gfx::IntersectRects(opaqueRect, afterCullRect)));
-
- m_pixelsDrawnOpaque += afterCullOpaqueArea;
- m_pixelsDrawnTranslucent += afterCullArea - afterCullOpaqueArea;
+void OverdrawMetrics::DidDraw(const gfx::Transform& transform_to_target,
+ gfx::Rect after_cull_rect,
+ gfx::Rect opaque_rect) {
+ if (!record_metrics_for_frame_)
+ return;
+
+ float after_cull_area =
+ AreaOfMappedQuad(transform_to_target, gfx::QuadF(after_cull_rect));
+ float after_cull_opaque_area =
+ AreaOfMappedQuad(transform_to_target,
+ gfx::QuadF(gfx::IntersectRects(opaque_rect,
+ after_cull_rect)));
+
+ pixels_drawn_opaque_ += after_cull_opaque_area;
+ pixels_drawn_translucent_ += after_cull_area - after_cull_opaque_area;
}
-void OverdrawMetrics::recordMetrics(const LayerTreeHost* layerTreeHost) const
-{
- if (m_recordMetricsForFrame)
- recordMetricsInternal<LayerTreeHost>(UpdateAndCommit, layerTreeHost);
+void OverdrawMetrics::RecordMetrics(
+ const LayerTreeHost* layer_tree_host) const {
+ if (record_metrics_for_frame_)
+ RecordMetricsInternal<LayerTreeHost>(UpdateAndCommit, layer_tree_host);
}
-void OverdrawMetrics::recordMetrics(const LayerTreeHostImpl* layerTreeHost) const
-{
- if (m_recordMetricsForFrame)
- recordMetricsInternal<LayerTreeHostImpl>(DrawingToScreen, layerTreeHost);
+void OverdrawMetrics::RecordMetrics(
+ const LayerTreeHostImpl* layer_tree_host_impl) const {
+ if (record_metrics_for_frame_) {
+ RecordMetricsInternal<LayerTreeHostImpl>(DrawingToScreen,
+ layer_tree_host_impl);
+ }
}
-static gfx::Size DeviceViewportSize(const LayerTreeHost* host) { return host->deviceViewportSize(); }
-static gfx::Size DeviceViewportSize(const LayerTreeHostImpl* host_impl) { return host_impl->DeviceViewportSize(); }
-
-template<typename LayerTreeHostType>
-void OverdrawMetrics::recordMetricsInternal(MetricsType metricsType, const LayerTreeHostType* layerTreeHost) const
-{
- // This gives approximately 10x the percentage of pixels to fill the viewport once.
- float normalization = 1000.f / (DeviceViewportSize(layerTreeHost).width() * DeviceViewportSize(layerTreeHost).height());
- // This gives approximately 100x the percentage of tiles to fill the viewport once, if all tiles were 256x256.
- float tileNormalization = 10000.f / (DeviceViewportSize(layerTreeHost).width() / 256.f * DeviceViewportSize(layerTreeHost).height() / 256.f);
- // This gives approximately 10x the percentage of bytes to fill the viewport once, assuming 4 bytes per pixel.
- float byteNormalization = normalization / 4;
+static gfx::Size DeviceViewportSize(const LayerTreeHost* host) {
+ return host->deviceViewportSize();
+}
+static gfx::Size DeviceViewportSize(const LayerTreeHostImpl* host_impl) {
+ return host_impl->DeviceViewportSize();
+}
- switch (metricsType) {
+template <typename LayerTreeHostType>
+void OverdrawMetrics::RecordMetricsInternal(
+ MetricsType metrics_type,
+ const LayerTreeHostType* layer_tree_host) const {
+ // This gives approximately 10x the percentage of pixels to fill the viewport
+ // once.
+ float normalization = 1000.f / (DeviceViewportSize(layer_tree_host).width() *
+ DeviceViewportSize(layer_tree_host).height());
+ // This gives approximately 100x the percentage of tiles to fill the viewport
+ // once, if all tiles were 256x256.
+ float tile_normalization =
+ 10000.f / (DeviceViewportSize(layer_tree_host).width() / 256.f *
+ DeviceViewportSize(layer_tree_host).height() / 256.f);
+ // This gives approximately 10x the percentage of bytes to fill the viewport
+ // once, assuming 4 bytes per pixel.
+ float byte_normalization = normalization / 4;
+
+ switch (metrics_type) {
case DrawingToScreen: {
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.pixelCountOpaque_Draw",
- static_cast<int>(normalization * m_pixelsDrawnOpaque),
- 100, 1000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.pixelCountTranslucent_Draw",
- static_cast<int>(normalization * m_pixelsDrawnTranslucent),
- 100, 1000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.pixelCountCulled_Draw",
- static_cast<int>(normalization * m_pixelsCulledForDrawing),
- 100, 1000000, 50);
-
- TRACE_COUNTER_ID1("cc", "DrawPixelsCulled", layerTreeHost, m_pixelsCulledForDrawing);
- TRACE_EVENT2("cc", "OverdrawMetrics", "PixelsDrawnOpaque", m_pixelsDrawnOpaque, "PixelsDrawnTranslucent", m_pixelsDrawnTranslucent);
- break;
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.pixelCountOpaque_Draw",
+ static_cast<int>(normalization * pixels_drawn_opaque_),
+ 100, 1000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.pixelCountTranslucent_Draw",
+ static_cast<int>(normalization * pixels_drawn_translucent_),
+ 100, 1000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.pixelCountCulled_Draw",
+ static_cast<int>(normalization * pixels_culled_for_drawing_),
+ 100, 1000000, 50);
+
+ TRACE_COUNTER_ID1("cc",
+ "DrawPixelsCulled",
+ layer_tree_host,
+ pixels_culled_for_drawing_);
+ TRACE_EVENT2("cc",
+ "OverdrawMetrics",
+ "PixelsDrawnOpaque",
+ pixels_drawn_opaque_,
+ "PixelsDrawnTranslucent",
+ pixels_drawn_translucent_);
+ break;
}
case UpdateAndCommit: {
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.pixelCountPainted",
- static_cast<int>(normalization * m_pixelsPainted),
- 100, 1000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.pixelCountOpaque_Upload",
- static_cast<int>(normalization * m_pixelsUploadedOpaque),
- 100, 1000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.pixelCountTranslucent_Upload",
- static_cast<int>(normalization * m_pixelsUploadedTranslucent),
- 100, 1000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.tileCountCulled_Upload",
- static_cast<int>(tileNormalization * m_tilesCulledForUpload),
- 100, 10000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.renderSurfaceTextureBytes_ViewportScaled",
- static_cast<int>(
- byteNormalization * m_renderSurfaceTextureUseBytes),
- 10, 1000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.renderSurfaceTextureBytes_Unscaled",
- static_cast<int>(m_renderSurfaceTextureUseBytes / 1000),
- 1000, 100000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.contentsTextureBytes_ViewportScaled",
- static_cast<int>(byteNormalization * m_contentsTextureUseBytes),
- 10, 1000000, 50);
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Renderer4.contentsTextureBytes_Unscaled",
- static_cast<int>(m_contentsTextureUseBytes / 1000),
- 1000, 100000000, 50);
-
- {
- TRACE_COUNTER_ID1("cc", "UploadTilesCulled", layerTreeHost, m_tilesCulledForUpload);
- TRACE_EVENT2("cc", "OverdrawMetrics", "PixelsUploadedOpaque", m_pixelsUploadedOpaque, "PixelsUploadedTranslucent", m_pixelsUploadedTranslucent);
- }
- {
- // This must be in a different scope than the TRACE_EVENT2 above.
- TRACE_EVENT1("cc", "OverdrawPaintMetrics", "PixelsPainted", m_pixelsPainted);
- }
- {
- // This must be in a different scope than the TRACE_EVENTs above.
- TRACE_EVENT2("cc", "OverdrawPaintMetrics", "ContentsTextureBytes", m_contentsTextureUseBytes, "RenderSurfaceTextureBytes", m_renderSurfaceTextureUseBytes);
- }
- break;
- }
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.pixelCountPainted",
+ static_cast<int>(normalization * pixels_painted_),
+ 100, 1000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.pixelCountOpaque_Upload",
+ static_cast<int>(normalization * pixels_uploaded_opaque_),
+ 100, 1000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.pixelCountTranslucent_Upload",
+ static_cast<int>(normalization * pixels_uploaded_translucent_),
+ 100, 1000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.tileCountCulled_Upload",
+ static_cast<int>(tile_normalization * tiles_culled_for_upload_),
+ 100, 10000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.renderSurfaceTextureBytes_ViewportScaled",
+ static_cast<int>(
+ byte_normalization * render_surface_texture_use_bytes_),
+ 10, 1000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.renderSurfaceTextureBytes_Unscaled",
+ static_cast<int>(render_surface_texture_use_bytes_ / 1000),
+ 1000, 100000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.contentsTextureBytes_ViewportScaled",
+ static_cast<int>(byte_normalization * contents_texture_use_bytes_),
+ 10, 1000000, 50);
+ UMA_HISTOGRAM_CUSTOM_COUNTS(
+ "Renderer4.contentsTextureBytes_Unscaled",
+ static_cast<int>(contents_texture_use_bytes_ / 1000),
+ 1000, 100000000, 50); {
+ TRACE_COUNTER_ID1("cc",
+ "UploadTilesCulled",
+ layer_tree_host,
+ tiles_culled_for_upload_);
+ TRACE_EVENT2("cc",
+ "OverdrawMetrics",
+ "PixelsUploadedOpaque",
+ pixels_uploaded_opaque_,
+ "PixelsUploadedTranslucent",
+ pixels_uploaded_translucent_);
+ }
+ {
+ // This must be in a different scope than the TRACE_EVENT2 above.
+ TRACE_EVENT1("cc",
+ "OverdrawPaintMetrics",
+ "PixelsPainted",
+ pixels_painted_);
+ }
+ {
+ // This must be in a different scope than the TRACE_EVENTs above.
+ TRACE_EVENT2("cc",
+ "OverdrawPaintMetrics",
+ "ContentsTextureBytes",
+ contents_texture_use_bytes_,
+ "RenderSurfaceTextureBytes",
+ render_surface_texture_use_bytes_);
+ }
+ break;
}
+ }
}
} // namespace cc
diff --git a/cc/overdraw_metrics.h b/cc/overdraw_metrics.h
index 81595e7..f9ac091 100644
--- a/cc/overdraw_metrics.h
+++ b/cc/overdraw_metrics.h
@@ -5,6 +5,7 @@
#ifndef CC_OVERDRAW_METRICS_H_
#define CC_OVERDRAW_METRICS_H_
+#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
namespace gfx {
@@ -16,82 +17,99 @@ namespace cc {
class LayerTreeHost;
class LayerTreeHostImpl;
-// FIXME: compute overdraw metrics only occasionally, not every frame.
class OverdrawMetrics {
-public:
- static scoped_ptr<OverdrawMetrics> create(bool recordMetricsForFrame) { return make_scoped_ptr(new OverdrawMetrics(recordMetricsForFrame)); }
-
- // These methods are used for saving metrics during update/commit.
-
- // Record pixels painted by WebKit into the texture updater, but does not mean the pixels were rasterized in main memory.
- void didPaint(const gfx::Rect& paintedRect);
- // Records that an invalid tile was culled and did not need to be painted/uploaded, and did not contribute to other tiles needing to be painted.
- void didCullTilesForUpload(int count);
- // Records pixels that were uploaded to texture memory.
- void didUpload(const gfx::Transform& transformToTarget, const gfx::Rect& uploadRect, const gfx::Rect& opaqueRect);
- // Record contents texture(s) behind present using the given number of bytes.
- void didUseContentsTextureMemoryBytes(size_t contentsTextureUseBytes);
- // Record RenderSurfaceImpl texture(s) being present using the given number of bytes.
- void didUseRenderSurfaceTextureMemoryBytes(size_t renderSurfaceUseBytes);
-
- // These methods are used for saving metrics during draw.
-
- // Record pixels that were not drawn to screen.
- void didCullForDrawing(const gfx::Transform& transformToTarget, const gfx::Rect& beforeCullRect, const gfx::Rect& afterCullRect);
- // Record pixels that were drawn to screen.
- void didDraw(const gfx::Transform& transformToTarget, const gfx::Rect& afterCullRect, const gfx::Rect& opaqueRect);
-
- void recordMetrics(const LayerTreeHost*) const;
- void recordMetrics(const LayerTreeHostImpl*) const;
-
- // Accessors for tests.
- float pixelsDrawnOpaque() const { return m_pixelsDrawnOpaque; }
- float pixelsDrawnTranslucent() const { return m_pixelsDrawnTranslucent; }
- float pixelsCulledForDrawing() const { return m_pixelsCulledForDrawing; }
- float pixelsPainted() const { return m_pixelsPainted; }
- float pixelsUploadedOpaque() const { return m_pixelsUploadedOpaque; }
- float pixelsUploadedTranslucent() const { return m_pixelsUploadedTranslucent; }
- int tilesCulledForUpload() const { return m_tilesCulledForUpload; }
-
-private:
- enum MetricsType {
- UpdateAndCommit,
- DrawingToScreen
- };
-
- explicit OverdrawMetrics(bool recordMetricsForFrame);
-
- template<typename LayerTreeHostType>
- void recordMetricsInternal(MetricsType, const LayerTreeHostType*) const;
-
- // When false this class is a giant no-op.
- bool m_recordMetricsForFrame;
-
- // These values are used for saving metrics during update/commit.
-
- // Count of pixels that were painted due to invalidation.
- float m_pixelsPainted;
- // Count of pixels uploaded to textures and known to be opaque.
- float m_pixelsUploadedOpaque;
- // Count of pixels uploaded to textures and not known to be opaque.
- float m_pixelsUploadedTranslucent;
- // Count of tiles that were invalidated but not uploaded.
- int m_tilesCulledForUpload;
- // Count the number of bytes in contents textures.
- unsigned long long m_contentsTextureUseBytes;
- // Count the number of bytes in RenderSurfaceImpl textures.
- unsigned long long m_renderSurfaceTextureUseBytes;
-
- // These values are used for saving metrics during draw.
-
- // Count of pixels that are opaque (and thus occlude). Ideally this is no more than wiewport width x height.
- float m_pixelsDrawnOpaque;
- // Count of pixels that are possibly translucent, and cannot occlude.
- float m_pixelsDrawnTranslucent;
- // Count of pixels not drawn as they are occluded by somthing opaque.
- float m_pixelsCulledForDrawing;
+ public:
+ static scoped_ptr<OverdrawMetrics> Create(bool record_metrics_for_frame) {
+ return make_scoped_ptr(new OverdrawMetrics(record_metrics_for_frame));
+ }
+
+ // These methods are used for saving metrics during update/commit.
+
+ // Record pixels painted by WebKit into the texture updater, but does not mean
+ // the pixels were rasterized in main memory.
+ void DidPaint(gfx::Rect painted_rect);
+ // Records that an invalid tile was culled and did not need to be
+ // painted/uploaded, and did not contribute to other tiles needing to be
+ // painted.
+ void DidCullTilesForUpload(int count);
+ // Records pixels that were uploaded to texture memory.
+ void DidUpload(const gfx::Transform& transform_to_target,
+ gfx::Rect upload_rect,
+ gfx::Rect opaque_rect);
+ // Record contents texture(s) behind present using the given number of bytes.
+ void DidUseContentsTextureMemoryBytes(size_t contents_texture_use_bytes);
+ // Record RenderSurfaceImpl texture(s) being present using the given number of
+ // bytes.
+ void DidUseRenderSurfaceTextureMemoryBytes(size_t render_surface_use_bytes);
+
+ // These methods are used for saving metrics during draw.
+
+ // Record pixels that were not drawn to screen.
+ void DidCullForDrawing(const gfx::Transform& transform_to_target,
+ gfx::Rect before_cull_rect,
+ gfx::Rect after_cull_rect);
+ // Record pixels that were drawn to screen.
+ void DidDraw(const gfx::Transform& transform_to_target,
+ gfx::Rect after_cull_rect,
+ gfx::Rect opaque_rect);
+
+ void RecordMetrics(const LayerTreeHost* layer_tree_host) const;
+ void RecordMetrics(const LayerTreeHostImpl* layer_tree_host_impl) const;
+
+ // Accessors for tests.
+ float pixels_drawn_opaque() const { return pixels_drawn_opaque_; }
+ float pixels_drawn_translucent() const { return pixels_drawn_translucent_; }
+ float pixels_culled_for_drawing() const { return pixels_culled_for_drawing_; }
+ float pixels_painted() const { return pixels_painted_; }
+ float pixels_uploaded_opaque() const { return pixels_uploaded_opaque_; }
+ float pixels_uploaded_translucent() const {
+ return pixels_uploaded_translucent_;
+ }
+ int tiles_culled_for_upload() const { return tiles_culled_for_upload_; }
+
+ private:
+ enum MetricsType {
+ UpdateAndCommit,
+ DrawingToScreen
+ };
+
+ explicit OverdrawMetrics(bool record_metrics_for_frame);
+
+ template <typename LayerTreeHostType>
+ void RecordMetricsInternal(MetricsType metrics_type,
+ const LayerTreeHostType* layer_tree_host) const;
+
+ // When false this class is a giant no-op.
+ bool record_metrics_for_frame_;
+
+ // These values are used for saving metrics during update/commit.
+
+ // Count of pixels that were painted due to invalidation.
+ float pixels_painted_;
+ // Count of pixels uploaded to textures and known to be opaque.
+ float pixels_uploaded_opaque_;
+ // Count of pixels uploaded to textures and not known to be opaque.
+ float pixels_uploaded_translucent_;
+ // Count of tiles that were invalidated but not uploaded.
+ int tiles_culled_for_upload_;
+ // Count the number of bytes in contents textures.
+ unsigned long long contents_texture_use_bytes_;
+ // Count the number of bytes in RenderSurfaceImpl textures.
+ unsigned long long render_surface_texture_use_bytes_;
+
+ // These values are used for saving metrics during draw.
+
+ // Count of pixels that are opaque (and thus occlude). Ideally this is no more
+ // than wiewport width x height.
+ float pixels_drawn_opaque_;
+ // Count of pixels that are possibly translucent, and cannot occlude.
+ float pixels_drawn_translucent_;
+ // Count of pixels not drawn as they are occluded by somthing opaque.
+ float pixels_culled_for_drawing_;
+
+ DISALLOW_COPY_AND_ASSIGN(OverdrawMetrics);
};
-} // namespace cc
+} // namespace cc
#endif // CC_OVERDRAW_METRICS_H_
diff --git a/cc/quad_culler.cc b/cc/quad_culler.cc
index 02f4364..cc070e4 100644
--- a/cc/quad_culler.cc
+++ b/cc/quad_culler.cc
@@ -41,9 +41,9 @@ static inline bool appendQuadInternal(scoped_ptr<DrawQuad> drawQuad, const gfx::
if (keepQuad)
drawQuad->visible_rect = culledRect;
- occlusionTracker.OverdrawMetrics().didCullForDrawing(drawQuad->quadTransform(), drawQuad->rect, culledRect);
+ occlusionTracker.OverdrawMetrics().DidCullForDrawing(drawQuad->quadTransform(), drawQuad->rect, culledRect);
gfx::Rect opaqueDrawRect = drawQuad->opacity() == 1.0f ? drawQuad->opaque_rect : gfx::Rect();
- occlusionTracker.OverdrawMetrics().didDraw(drawQuad->quadTransform(), culledRect, opaqueDrawRect);
+ occlusionTracker.OverdrawMetrics().DidDraw(drawQuad->quadTransform(), culledRect, opaqueDrawRect);
if (keepQuad) {
if (createDebugBorderQuads && !drawQuad->IsDebugQuad() && drawQuad->visible_rect != drawQuad->rect) {
diff --git a/cc/quad_culler_unittest.cc b/cc/quad_culler_unittest.cc
index 7e222dd..edf3c89 100644
--- a/cc/quad_culler_unittest.cc
+++ b/cc/quad_culler_unittest.cc
@@ -124,9 +124,9 @@ TEST_F(QuadCullerTest, verifyNoCulling)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 13u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 40000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 40000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
}
TEST_F(QuadCullerTest, verifyCullChildLinesUpTopLeft)
@@ -141,9 +141,9 @@ TEST_F(QuadCullerTest, verifyCullChildLinesUpTopLeft)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 9u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 40000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 40000, 1);
}
TEST_F(QuadCullerTest, verifyCullWhenChildOpacityNotOne)
@@ -158,9 +158,9 @@ TEST_F(QuadCullerTest, verifyCullWhenChildOpacityNotOne)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 13u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 40000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 40000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
}
TEST_F(QuadCullerTest, verifyCullWhenChildOpaqueFlagFalse)
@@ -175,9 +175,9 @@ TEST_F(QuadCullerTest, verifyCullWhenChildOpaqueFlagFalse)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 13u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 40000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 40000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
}
TEST_F(QuadCullerTest, verifyCullCenterTileOnly)
@@ -210,9 +210,9 @@ TEST_F(QuadCullerTest, verifyCullCenterTileOnly)
EXPECT_EQ(quadVisibleRect6.height(), 50);
EXPECT_EQ(quadVisibleRect6.y(), 250);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 100000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 30000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 100000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 30000, 1);
}
TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize1)
@@ -238,9 +238,9 @@ TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize1)
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 2u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 20363, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 20363, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
}
TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize2)
@@ -266,9 +266,9 @@ TEST_F(QuadCullerTest, verifyCullCenterTileNonIntegralSize2)
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 2u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 19643, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 19643, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
}
TEST_F(QuadCullerTest, verifyCullChildLinesUpBottomRight)
@@ -285,9 +285,9 @@ TEST_F(QuadCullerTest, verifyCullChildLinesUpBottomRight)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 9u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 40000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 40000, 1);
}
TEST_F(QuadCullerTest, verifyCullSubRegion)
@@ -305,9 +305,9 @@ TEST_F(QuadCullerTest, verifyCullSubRegion)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 12u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 30000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 10000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 30000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 10000, 1);
}
TEST_F(QuadCullerTest, verifyCullSubRegion2)
@@ -325,9 +325,9 @@ TEST_F(QuadCullerTest, verifyCullSubRegion2)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 12u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 25000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 15000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 25000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 15000, 1);
}
TEST_F(QuadCullerTest, verifyCullSubRegionCheckOvercull)
@@ -345,9 +345,9 @@ TEST_F(QuadCullerTest, verifyCullSubRegionCheckOvercull)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 13u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 90000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 30000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 10000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 30000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 10000, 1);
}
TEST_F(QuadCullerTest, verifyNonAxisAlignedQuadsDontOcclude)
@@ -365,9 +365,9 @@ TEST_F(QuadCullerTest, verifyNonAxisAlignedQuadsDontOcclude)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 13u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 130000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 130000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
}
// This test requires some explanation: here we are rotating the quads to be culled.
@@ -391,9 +391,9 @@ TEST_F(QuadCullerTest, verifyNonAxisAlignedQuadsSafelyCulled)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 12u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 100600, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 29400, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 100600, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 29400, 1);
}
TEST_F(QuadCullerTest, verifyCullOutsideScissorOverTile)
@@ -408,9 +408,9 @@ TEST_F(QuadCullerTest, verifyCullOutsideScissorOverTile)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 1u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 10000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 120000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 10000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 120000, 1);
}
TEST_F(QuadCullerTest, verifyCullOutsideScissorOverCulledTile)
@@ -425,9 +425,9 @@ TEST_F(QuadCullerTest, verifyCullOutsideScissorOverCulledTile)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 1u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 10000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 120000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 10000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 120000, 1);
}
TEST_F(QuadCullerTest, verifyCullOutsideScissorOverPartialTiles)
@@ -442,9 +442,9 @@ TEST_F(QuadCullerTest, verifyCullOutsideScissorOverPartialTiles)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 9u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 40000, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 90000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 40000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 90000, 1);
}
TEST_F(QuadCullerTest, verifyCullOutsideScissorOverNoTiles)
@@ -459,9 +459,9 @@ TEST_F(QuadCullerTest, verifyCullOutsideScissorOverNoTiles)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 0u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 130000, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 130000, 1);
}
TEST_F(QuadCullerTest, verifyWithoutMetrics)
@@ -476,9 +476,9 @@ TEST_F(QuadCullerTest, verifyWithoutMetrics)
appendQuads(quadList, sharedStateList, childLayer.get(), it, occlusionTracker);
appendQuads(quadList, sharedStateList, rootLayer.get(), it, occlusionTracker);
EXPECT_EQ(quadList.size(), 9u);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnOpaque(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsDrawnTranslucent(), 0, 1);
- EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixelsCulledForDrawing(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_opaque(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_drawn_translucent(), 0, 1);
+ EXPECT_NEAR(occlusionTracker.OverdrawMetrics().pixels_culled_for_drawing(), 0, 1);
}
} // namespace
diff --git a/cc/tiled_layer.cc b/cc/tiled_layer.cc
index d07bb03..cfa0c88 100644
--- a/cc/tiled_layer.cc
+++ b/cc/tiled_layer.cc
@@ -323,7 +323,7 @@ bool TiledLayer::updateTiles(int left, int top, int right, int bottom, ResourceU
gfx::Rect paintRect = markTilesForUpdate(left, top, right, bottom, ignoreOcclusions);
if (occlusion)
- occlusion->OverdrawMetrics().didPaint(paintRect);
+ occlusion->OverdrawMetrics().DidPaint(paintRect);
if (paintRect.IsEmpty())
return true;
@@ -364,7 +364,7 @@ void TiledLayer::markOcclusionsAndRequestTextures(int left, int top, int right,
if (!succeeded)
return;
if (occlusion)
- occlusion->OverdrawMetrics().didCullTilesForUpload(occludedTileCount);
+ occlusion->OverdrawMetrics().DidCullTilesForUpload(occludedTileCount);
}
bool TiledLayer::haveTexturesForTiles(int left, int top, int right, int bottom, bool ignoreOcclusions)
@@ -498,7 +498,7 @@ void TiledLayer::updateTileTextures(const gfx::Rect& paintRect, int left, int to
tile->updaterResource()->update(queue, sourceRect, destOffset, tile->partialUpdate, stats);
if (occlusion)
- occlusion->OverdrawMetrics().didUpload(gfx::Transform(), sourceRect, tile->opaqueRect());
+ occlusion->OverdrawMetrics().DidUpload(gfx::Transform(), sourceRect, tile->opaqueRect());
}
}
diff --git a/cc/tiled_layer_unittest.cc b/cc/tiled_layer_unittest.cc
index 1e02385..053ebaf 100644
--- a/cc/tiled_layer_unittest.cc
+++ b/cc/tiled_layer_unittest.cc
@@ -230,9 +230,9 @@ TEST_F(TiledLayerTest, pushOccludedDirtyTiles)
calcDrawProps(layer);
updateAndPush(layer, layerImpl);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 20000, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 20000, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
// We should have both tiles on the impl side.
EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
@@ -245,9 +245,9 @@ TEST_F(TiledLayerTest, pushOccludedDirtyTiles)
calcDrawProps(layer);
updateAndPush(layer, layerImpl);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 20000 + 2500, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 20000 + 2500, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
// We should still have both tiles, as part of the top tile is still unoccluded.
EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
@@ -467,7 +467,7 @@ TEST_F(TiledLayerTest, pushIdlePaintedOccludedTiles)
// We should have the prepainted tile on the impl side, but culled it during paint.
EXPECT_TRUE(layerImpl->hasResourceIdForTileAt(0, 0));
- EXPECT_EQ(1, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_EQ(1, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
TEST_F(TiledLayerTest, pushTilesMarkedDirtyDuringPaint)
@@ -1030,9 +1030,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusion)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(36-3, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 330000, 1);
- EXPECT_EQ(3, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 330000, 1);
+ EXPECT_EQ(3, occluded.OverdrawMetrics().tiles_culled_for_upload());
layer->fakeLayerUpdater()->clearUpdateCount();
layer->setTexturePriorities(m_priorityCalculator);
@@ -1043,9 +1043,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusion)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(36-2, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 330000 + 340000, 1);
- EXPECT_EQ(3 + 2, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 330000 + 340000, 1);
+ EXPECT_EQ(3 + 2, occluded.OverdrawMetrics().tiles_culled_for_upload());
layer->fakeLayerUpdater()->clearUpdateCount();
layer->setTexturePriorities(m_priorityCalculator);
@@ -1056,9 +1056,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusion)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(36, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 330000 + 340000 + 360000, 1);
- EXPECT_EQ(3 + 2, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 330000 + 340000 + 360000, 1);
+ EXPECT_EQ(3 + 2, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndVisiblityConstraints)
@@ -1084,9 +1084,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndVisiblityConstraints)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(24-3, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 210000, 1);
- EXPECT_EQ(3, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 210000, 1);
+ EXPECT_EQ(3, occluded.OverdrawMetrics().tiles_culled_for_upload());
layer->fakeLayerUpdater()->clearUpdateCount();
@@ -1100,9 +1100,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndVisiblityConstraints)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(24-6, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 210000 + 180000, 1);
- EXPECT_EQ(3 + 6, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 210000 + 180000, 1);
+ EXPECT_EQ(3 + 6, occluded.OverdrawMetrics().tiles_culled_for_upload());
layer->fakeLayerUpdater()->clearUpdateCount();
@@ -1116,9 +1116,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndVisiblityConstraints)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(24-6, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 210000 + 180000 + 180000, 1);
- EXPECT_EQ(3 + 6 + 6, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 210000 + 180000 + 180000, 1);
+ EXPECT_EQ(3 + 6 + 6, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
@@ -1146,9 +1146,9 @@ TEST_F(TiledLayerTest, tilesNotPaintedWithoutInvalidation)
updateTextures();
}
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 330000, 1);
- EXPECT_EQ(3, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 330000, 1);
+ EXPECT_EQ(3, occluded.OverdrawMetrics().tiles_culled_for_upload());
layer->fakeLayerUpdater()->clearUpdateCount();
layer->setTexturePriorities(m_priorityCalculator);
@@ -1158,9 +1158,9 @@ TEST_F(TiledLayerTest, tilesNotPaintedWithoutInvalidation)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(3, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 330000, 1);
- EXPECT_EQ(6, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 330000, 1);
+ EXPECT_EQ(6, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndTransforms)
@@ -1190,9 +1190,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndTransforms)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(36-3, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 330000, 1);
- EXPECT_EQ(3, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 330000, 1);
+ EXPECT_EQ(3, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndScaling)
@@ -1229,9 +1229,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndScaling)
// number of tiles 3x3.
EXPECT_EQ(9, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 90000, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 90000, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
layer->fakeLayerUpdater()->clearUpdateCount();
@@ -1247,9 +1247,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndScaling)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(9-1, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 90000 + 80000, 1);
- EXPECT_EQ(1, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 90000 + 80000, 1);
+ EXPECT_EQ(1, occluded.OverdrawMetrics().tiles_culled_for_upload());
layer->fakeLayerUpdater()->clearUpdateCount();
@@ -1270,9 +1270,9 @@ TEST_F(TiledLayerTest, tilesPaintedWithOcclusionAndScaling)
layer->update(*m_queue.get(), &occluded, NULL);
EXPECT_EQ(9-1, layer->fakeLayerUpdater()->updateCount());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 90000 + 80000 + 80000, 1);
- EXPECT_EQ(1 + 1, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 90000 + 80000 + 80000, 1);
+ EXPECT_EQ(1 + 1, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
TEST_F(TiledLayerTest, visibleContentOpaqueRegion)
@@ -1304,10 +1304,10 @@ TEST_F(TiledLayerTest, visibleContentOpaqueRegion)
opaqueContents = layer->visibleContentOpaqueRegion();
EXPECT_TRUE(opaqueContents.IsEmpty());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsPainted(), 20000, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 20000, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_painted(), 20000, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 20000, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
// visibleContentOpaqueRegion should match the visible part of what is painted opaque.
opaquePaintRect = gfx::Rect(10, 10, 90, 190);
@@ -1320,10 +1320,10 @@ TEST_F(TiledLayerTest, visibleContentOpaqueRegion)
opaqueContents = layer->visibleContentOpaqueRegion();
EXPECT_EQ(gfx::IntersectRects(opaquePaintRect, visibleBounds).ToString(), opaqueContents.ToString());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsPainted(), 20000 * 2, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 17100, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 20000 + 20000 - 17100, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_painted(), 20000 * 2, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 17100, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 20000 + 20000 - 17100, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
// If we paint again without invalidating, the same stuff should be opaque.
layer->fakeLayerUpdater()->setOpaquePaintRect(gfx::Rect());
@@ -1334,10 +1334,10 @@ TEST_F(TiledLayerTest, visibleContentOpaqueRegion)
opaqueContents = layer->visibleContentOpaqueRegion();
EXPECT_EQ(gfx::IntersectRects(opaquePaintRect, visibleBounds).ToString(), opaqueContents.ToString());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsPainted(), 20000 * 2, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 17100, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 20000 + 20000 - 17100, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_painted(), 20000 * 2, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 17100, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 20000 + 20000 - 17100, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
// If we repaint a non-opaque part of the tile, then it shouldn't lose its opaque-ness. And other tiles should
// not be affected.
@@ -1350,10 +1350,10 @@ TEST_F(TiledLayerTest, visibleContentOpaqueRegion)
opaqueContents = layer->visibleContentOpaqueRegion();
EXPECT_EQ(gfx::IntersectRects(opaquePaintRect, visibleBounds).ToString(), opaqueContents.ToString());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsPainted(), 20000 * 2 + 1, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 17100, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 20000 + 20000 - 17100 + 1, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_painted(), 20000 * 2 + 1, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 17100, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 20000 + 20000 - 17100 + 1, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
// If we repaint an opaque part of the tile, then it should lose its opaque-ness. But other tiles should still
// not be affected.
@@ -1366,13 +1366,13 @@ TEST_F(TiledLayerTest, visibleContentOpaqueRegion)
opaqueContents = layer->visibleContentOpaqueRegion();
EXPECT_EQ(gfx::IntersectRects(gfx::Rect(10, 100, 90, 100), visibleBounds).ToString(), opaqueContents.ToString());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsPainted(), 20000 * 2 + 1 + 1, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 17100, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 20000 + 20000 - 17100 + 1 + 1, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_painted(), 20000 * 2 + 1 + 1, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 17100, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 20000 + 20000 - 17100 + 1 + 1, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
-TEST_F(TiledLayerTest, pixelsPaintedMetrics)
+TEST_F(TiledLayerTest, pixels_paintedMetrics)
{
scoped_refptr<FakeTiledLayer> layer = make_scoped_refptr(new FakeTiledLayer(m_resourceManager.get()));
TestOcclusionTracker occluded;
@@ -1398,10 +1398,10 @@ TEST_F(TiledLayerTest, pixelsPaintedMetrics)
opaqueContents = layer->visibleContentOpaqueRegion();
EXPECT_TRUE(opaqueContents.IsEmpty());
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsPainted(), 30000, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 30000, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_painted(), 30000, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 30000, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
// Invalidates an area on the top and bottom tile, which will cause us to paint the tile in the middle,
// even though it is not dirty and will not be uploaded.
@@ -1416,11 +1416,11 @@ TEST_F(TiledLayerTest, pixelsPaintedMetrics)
EXPECT_TRUE(opaqueContents.IsEmpty());
// The middle tile was painted even though not invalidated.
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsPainted(), 30000 + 60 * 210, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_painted(), 30000 + 60 * 210, 1);
// The pixels uploaded will not include the non-invalidated tile in the middle.
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedOpaque(), 0, 1);
- EXPECT_NEAR(occluded.OverdrawMetrics().pixelsUploadedTranslucent(), 30000 + 1 + 100, 1);
- EXPECT_EQ(0, occluded.OverdrawMetrics().tilesCulledForUpload());
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_opaque(), 0, 1);
+ EXPECT_NEAR(occluded.OverdrawMetrics().pixels_uploaded_translucent(), 30000 + 1 + 100, 1);
+ EXPECT_EQ(0, occluded.OverdrawMetrics().tiles_culled_for_upload());
}
TEST_F(TiledLayerTest, dontAllocateContentsWhenTargetSurfaceCantBeAllocated)