// Copyright 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/values.h" #include "cc/debug/rendering_stats.h" namespace cc { MainThreadRenderingStats::MainThreadRenderingStats() : frame_count(0), painted_pixel_count(0), recorded_pixel_count(0) {} scoped_refptr MainThreadRenderingStats::AsTraceableData() const { scoped_ptr record_data(new base::DictionaryValue()); record_data->SetInteger("frame_count", frame_count); record_data->SetDouble("paint_time", paint_time.InSecondsF()); record_data->SetInteger("painted_pixel_count", painted_pixel_count); record_data->SetDouble("record_time", record_time.InSecondsF()); record_data->SetInteger("recorded_pixel_count", recorded_pixel_count); return TracedValue::FromValue(record_data.release()); } void MainThreadRenderingStats::Add(const MainThreadRenderingStats& other) { frame_count += other.frame_count; paint_time += other.paint_time; painted_pixel_count += other.painted_pixel_count; record_time += other.record_time; recorded_pixel_count += other.recorded_pixel_count; } ImplThreadRenderingStats::ImplThreadRenderingStats() : frame_count(0), rasterized_pixel_count(0) {} scoped_refptr ImplThreadRenderingStats::AsTraceableData() const { scoped_ptr record_data(new base::DictionaryValue()); record_data->SetInteger("frame_count", frame_count); record_data->SetDouble("rasterize_time", rasterize_time.InSecondsF()); record_data->SetInteger("rasterized_pixel_count", rasterized_pixel_count); return TracedValue::FromValue(record_data.release()); } void ImplThreadRenderingStats::Add(const ImplThreadRenderingStats& other) { frame_count += other.frame_count; rasterize_time += other.rasterize_time; analysis_time += other.analysis_time; rasterized_pixel_count += other.rasterized_pixel_count; } void RenderingStats::Add(const RenderingStats& other) { main_stats.Add(other.main_stats); impl_stats.Add(other.impl_stats); } } // namespace cc