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

Side by Side Diff: content/common/cc_messages.cc

Issue 34413002: Pickle::Write* micro-optimizations (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/common/cc_messages.h" 5 #include "content/common/cc_messages.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "cc/output/compositor_frame.h" 8 #include "cc/output/compositor_frame.h"
9 #include "cc/output/filter_operations.h" 9 #include "cc/output/filter_operations.h"
10 #include "content/public/common/common_param_traits.h" 10 #include "content/public/common/common_param_traits.h"
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 void ParamTraits<cc::RenderPass>::Write( 348 void ParamTraits<cc::RenderPass>::Write(
349 Message* m, const param_type& p) { 349 Message* m, const param_type& p) {
350 WriteParam(m, p.id); 350 WriteParam(m, p.id);
351 WriteParam(m, p.output_rect); 351 WriteParam(m, p.output_rect);
352 WriteParam(m, p.damage_rect); 352 WriteParam(m, p.damage_rect);
353 WriteParam(m, p.transform_to_root_target); 353 WriteParam(m, p.transform_to_root_target);
354 WriteParam(m, p.has_transparent_background); 354 WriteParam(m, p.has_transparent_background);
355 WriteParam(m, p.shared_quad_state_list.size()); 355 WriteParam(m, p.shared_quad_state_list.size());
356 WriteParam(m, p.quad_list.size()); 356 WriteParam(m, p.quad_list.size());
357 357
358 m->Reserve(p.shared_quad_state_list.size() * sizeof(cc::SharedQuadState) + p.q uad_list.size() * sizeof(cc::RenderPassDrawQuad));
danakj 2013/10/22 17:22:05 We could walk the quad list and determine the size
359
358 for (size_t i = 0; i < p.shared_quad_state_list.size(); ++i) 360 for (size_t i = 0; i < p.shared_quad_state_list.size(); ++i)
359 WriteParam(m, *p.shared_quad_state_list[i]); 361 WriteParam(m, *p.shared_quad_state_list[i]);
360 362
361 size_t shared_quad_state_index = 0; 363 size_t shared_quad_state_index = 0;
362 for (size_t i = 0; i < p.quad_list.size(); ++i) { 364 for (size_t i = 0; i < p.quad_list.size(); ++i) {
363 const cc::DrawQuad* quad = p.quad_list[i]; 365 const cc::DrawQuad* quad = p.quad_list[i];
364 DCHECK(quad->rect.Contains(quad->visible_rect)) 366 DCHECK(quad->rect.Contains(quad->visible_rect))
365 << quad->material << " rect: " << quad->rect.ToString() 367 << quad->material << " rect: " << quad->rect.ToString()
366 << " visible_rect: " << quad->visible_rect.ToString(); 368 << " visible_rect: " << quad->visible_rect.ToString();
367 DCHECK(quad->opaque_rect.IsEmpty() || 369 DCHECK(quad->opaque_rect.IsEmpty() ||
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 l->append(", ["); 779 l->append(", [");
778 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { 780 for (size_t i = 0; i < p.render_pass_list.size(); ++i) {
779 if (i) 781 if (i)
780 l->append(", "); 782 l->append(", ");
781 LogParam(*p.render_pass_list[i], l); 783 LogParam(*p.render_pass_list[i], l);
782 } 784 }
783 l->append("])"); 785 l->append("])");
784 } 786 }
785 787
786 } // namespace IPC 788 } // namespace IPC
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698