Index: cc/tile_manager.h |
diff --git a/cc/tile_manager.h b/cc/tile_manager.h |
index 6d2c621bf7e37ad0cc84df5e28fadc7c4740b6c2..5425cd783b81f3124d20c6afde6978c41f5a8229 100644 |
--- a/cc/tile_manager.h |
+++ b/cc/tile_manager.h |
@@ -14,6 +14,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/values.h" |
#include "cc/memory_history.h" |
+#include "cc/picture_pile_impl.h" |
#include "cc/rendering_stats.h" |
#include "cc/resource_pool.h" |
#include "cc/tile_priority.h" |
@@ -92,6 +93,8 @@ class CC_EXPORT ManagedTileState { |
TileResolution resolution; |
float time_to_needed_in_seconds; |
float distance_to_visible_in_pixels; |
+ PicturePileImpl::Analysis picture_pile_analysis; |
+ bool picture_pile_analyzed; |
}; |
// This class manages tiles, deciding which should get rasterized and which |
@@ -103,7 +106,9 @@ class CC_EXPORT TileManager : public WorkerPoolClient { |
TileManager(TileManagerClient* client, |
ResourceProvider *resource_provider, |
size_t num_raster_threads, |
- bool use_cheapess_estimator); |
+ bool use_cheapess_estimator, |
+ bool use_color_estimator, |
+ bool prediction_benchmarking); |
virtual ~TileManager(); |
const GlobalStateThatImpactsTilePriority& GlobalState() const { |
@@ -148,13 +153,14 @@ class CC_EXPORT TileManager : public WorkerPoolClient { |
// Data that is passed to raster tasks. |
struct RasterTaskMetadata { |
- bool use_cheapness_estimator; |
+ bool prediction_benchmarking; |
bool is_tile_in_pending_tree_now_bin; |
TileResolution tile_resolution; |
int layer_id; |
}; |
RasterTaskMetadata GetRasterTaskMetadata(const Tile& tile) const; |
+ |
void SortTiles(); |
void AssignGpuMemoryToTiles(); |
void FreeResourcesForTile(Tile* tile); |
@@ -197,6 +203,11 @@ class CC_EXPORT TileManager : public WorkerPoolClient { |
static void RecordCheapnessPredictorResults(bool is_predicted_cheap, |
bool is_actually_cheap); |
+ static void RecordSolidColorPredictorResults(const SkColor* actual_colors, |
+ size_t color_count, |
+ bool is_predicted_solid, |
+ SkColor predicted_color, |
+ bool is_predicted_transparent); |
TileManagerClient* client_; |
scoped_ptr<ResourcePool> resource_pool_; |
@@ -231,9 +242,11 @@ class CC_EXPORT TileManager : public WorkerPoolClient { |
RenderingStats rendering_stats_; |
bool use_cheapness_estimator_; |
+ bool use_color_estimator_; |
bool did_schedule_cheap_tasks_; |
bool allow_cheap_tasks_; |
int raster_state_count_[NUM_STATES][NUM_TREES][NUM_BINS]; |
+ bool prediction_benchmarking_; |
DISALLOW_COPY_AND_ASSIGN(TileManager); |
}; |