Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Side by Side Diff: cc/resources/picture_layer_tiling_set.cc

Issue 13895005: cc: Find a better prioritized rect when the viewport rect is huge. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "cc/resources/picture_layer_tiling_set.h" 5 #include "cc/resources/picture_layer_tiling_set.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 namespace cc { 9 namespace cc {
10 10
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 272
273 PictureLayerTilingSet::CoverageIterator::operator bool() const { 273 PictureLayerTilingSet::CoverageIterator::operator bool() const {
274 return current_tiling_ < static_cast<int>(set_->tilings_.size()) || 274 return current_tiling_ < static_cast<int>(set_->tilings_.size()) ||
275 region_iter_.has_rect(); 275 region_iter_.has_rect();
276 } 276 }
277 277
278 void PictureLayerTilingSet::UpdateTilePriorities( 278 void PictureLayerTilingSet::UpdateTilePriorities(
279 WhichTree tree, 279 WhichTree tree,
280 gfx::Size device_viewport, 280 gfx::Size device_viewport,
281 gfx::Rect viewport_in_content_space, 281 gfx::Rect viewport_in_content_space,
282 gfx::Rect visible_content_rect,
282 gfx::Size last_layer_bounds, 283 gfx::Size last_layer_bounds,
283 gfx::Size current_layer_bounds, 284 gfx::Size current_layer_bounds,
284 float last_layer_contents_scale, 285 float last_layer_contents_scale,
285 float current_layer_contents_scale, 286 float current_layer_contents_scale,
286 const gfx::Transform& last_screen_transform, 287 const gfx::Transform& last_screen_transform,
287 const gfx::Transform& current_screen_transform, 288 const gfx::Transform& current_screen_transform,
288 int current_source_frame_number, 289 int current_source_frame_number,
289 double current_frame_time, 290 double current_frame_time,
290 bool store_screen_space_quads_on_tiles, 291 bool store_screen_space_quads_on_tiles,
291 size_t max_tiles_for_interest_area) { 292 size_t max_tiles_for_interest_area) {
292 gfx::RectF viewport_in_layer_space = gfx::ScaleRect( 293 gfx::RectF viewport_in_layer_space = gfx::ScaleRect(
293 viewport_in_content_space, 294 viewport_in_content_space,
294 1.f / current_layer_contents_scale, 295 1.f / current_layer_contents_scale);
295 1.f / current_layer_contents_scale); 296 gfx::RectF visible_layer_rect = gfx::ScaleRect(
297 visible_content_rect,
298 1.f / current_layer_contents_scale);
296 299
297 for (size_t i = 0; i < tilings_.size(); ++i) { 300 for (size_t i = 0; i < tilings_.size(); ++i) {
298 tilings_[i]->UpdateTilePriorities( 301 tilings_[i]->UpdateTilePriorities(
299 tree, 302 tree,
300 device_viewport, 303 device_viewport,
301 viewport_in_layer_space, 304 viewport_in_layer_space,
305 visible_layer_rect,
302 last_layer_bounds, 306 last_layer_bounds,
303 current_layer_bounds, 307 current_layer_bounds,
304 last_layer_contents_scale, 308 last_layer_contents_scale,
305 current_layer_contents_scale, 309 current_layer_contents_scale,
306 last_screen_transform, 310 last_screen_transform,
307 current_screen_transform, 311 current_screen_transform,
308 current_source_frame_number, 312 current_source_frame_number,
309 current_frame_time, 313 current_frame_time,
310 store_screen_space_quads_on_tiles, 314 store_screen_space_quads_on_tiles,
311 max_tiles_for_interest_area); 315 max_tiles_for_interest_area);
312 } 316 }
313 } 317 }
314 318
315 void PictureLayerTilingSet::DidBecomeActive() { 319 void PictureLayerTilingSet::DidBecomeActive() {
316 for (size_t i = 0; i < tilings_.size(); ++i) 320 for (size_t i = 0; i < tilings_.size(); ++i)
317 tilings_[i]->DidBecomeActive(); 321 tilings_[i]->DidBecomeActive();
318 } 322 }
319 323
320 scoped_ptr<base::Value> PictureLayerTilingSet::AsValue() const { 324 scoped_ptr<base::Value> PictureLayerTilingSet::AsValue() const {
321 scoped_ptr<base::ListValue> state(new base::ListValue()); 325 scoped_ptr<base::ListValue> state(new base::ListValue());
322 for (size_t i = 0; i < tilings_.size(); ++i) 326 for (size_t i = 0; i < tilings_.size(); ++i)
323 state->Append(tilings_[i]->AsValue().release()); 327 state->Append(tilings_[i]->AsValue().release());
324 return state.PassAs<base::Value>(); 328 return state.PassAs<base::Value>();
325 } 329 }
326 330
327 } // namespace cc 331 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698