New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 597811 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Traveling - Back 2/6
Closed: Jun 2016
EstimatedDays: ----
NextAction: ----
OS: Linux , Android
Pri: 1
Type: Feature

Blocking:
issue 597790
issue 605168



Sign in to add a comment

[Compositor] Handle Display Item Caching

Project Member Reported by amin...@google.com, Mar 24 2016

Issue description

Copied from tracking spreadsheet, could not find corresponding bug, please dupe if this was unnecessary.

 

Comment 1 by amin...@google.com, Mar 24 2016

Owner: nyquist@chromium.org
Status: Assigned (was: Untriaged)
Labels: -Type-Bug M-52 OS-Android OS-Linux Type-Feature
Labels: Blimp-M52-Proj-Scope
Blocking: 605168
Project Member

Comment 5 by bugdroid1@chromium.org, May 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/60578afb06436fb73badef7b66d5d699f9623441

commit 60578afb06436fb73badef7b66d5d699f9623441
Author: nyquist <nyquist@chromium.org>
Date: Thu May 05 23:12:36 2016

Move BlimpImageSerializationProcessor and WebPDecoder to //blimp/client

The ImageSerializationProcessor implementation in //blimp started off as a
single implementation with an enum passed in to it according to whether it
was used for serialization or deserialization.

The CL https://codereview.chromium.org/1859753002 changed this to have
two implementations, such that one of them would only be used for the engine
and one for the client. However, the one used in the client code after this
still lived in //blimp/common and maintained some of the complexity such
as the enum for the mode it should be in.

This CL changes this by moving the remaining class
BlimpImageSerializationProcessor to //blimp/client and also renaming it
accordingly to ClientImageSerializationProcessor. It also removes the extra
complexity with the two different types.

In addition, since it was the only part outside of client that was using
the WebPDecoder, the WebPDecoder itself is now also moved to //blimp/client.

Lastly, this CL removes some incorrect dependencies from the engine code,
and cleans up the GN build targets related to this change.

BUG= 597811 

Review-Url: https://codereview.chromium.org/1955493002
Cr-Commit-Position: refs/heads/master@{#391940}

[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/BUILD.gn
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/blimp_compositor.h
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/blimp_compositor_manager.cc
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/blimp_compositor_manager.h
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/blimp_compositor_unittest.cc
[rename] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/blimp_image_decoder.cc
[add] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/blimp_image_decoder.h
[add] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/client_image_serialization_processor.cc
[add] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/client_image_serialization_processor.h
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/client/feature/compositor/decoding_image_generator.cc
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/common/BUILD.gn
[delete] https://crrev.com/d474f79dfe0b8772e60326f6d20c7df48110f296/blimp/common/compositor/blimp_image_serialization_processor.cc
[delete] https://crrev.com/d474f79dfe0b8772e60326f6d20c7df48110f296/blimp/common/compositor/blimp_image_serialization_processor.h
[delete] https://crrev.com/d474f79dfe0b8772e60326f6d20c7df48110f296/blimp/common/compositor/webp_decoder.h
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/engine/renderer/blimp_content_renderer_client.cc
[modify] https://crrev.com/60578afb06436fb73badef7b66d5d699f9623441/blimp/engine/renderer/engine_image_serialization_processor.cc

Labels: -M-52 M-53
Labels: Blimp-M53-Proj-Scope
[Bulk edit]

Setting tracking label Blimp-M53-Proj-Scope.  This label is for scope tracking purposes only and should not be added / removed from any bugs, even if we add additional bugs to M-53 scope, or remove this bug from M-53 scope.
Project Member

Comment 9 by sheriffbot@chromium.org, Jun 3 2016

Labels: Hotlist-Google
Project Member

Comment 10 by bugdroid1@chromium.org, Jun 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fbaee11e729589960ece321f39dee33e01503368

commit fbaee11e729589960ece321f39dee33e01503368
Author: nyquist <nyquist@chromium.org>
Date: Fri Jun 24 23:15:13 2016

[blimp] Add SkPicture caching support.

This CL adds support for de-duplication of SkPicture blobs across
consecutive frames.

Previously all DrawingDisplayItems and their respective SkPictures were
transferred from the engine to the client whenever the frames that
contained them was sent to the client. This lead to the same SkPictures
being sent over and over.

This CL changes this behavior so the engine can assume that the client
always keeps around the contents of the interest rect since last commit
and only sends down the new SkPictures that occur in the interest rect.

Both the engine and the client agrees on what is currently part of the
interest rect, and as such they can separately control their own caches
accordingly.

This has the benefit of sending less data from the engine to the client
whenever two consecutive frames have a lot of the same content.

This CL also creates //cc/blimp which is to be used for blimp-related
code living in //cc.

BUG= 597811 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/1982893002
Cr-Commit-Position: refs/heads/master@{#402006}

[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/BUILD.gn
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/feature/compositor/blimp_client_picture_cache.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/feature/compositor/blimp_client_picture_cache.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/feature/compositor/blimp_client_picture_cache_unittest.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/feature/compositor/blimp_image_decoder.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/feature/compositor/blimp_image_decoder.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/feature/compositor/blob_image_serialization_processor.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/client/feature/compositor/blob_image_serialization_processor.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/common/BUILD.gn
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/common/compositor/reference_tracker.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/common/compositor/reference_tracker.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/common/compositor/reference_tracker_unittest.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/engine/BUILD.gn
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/engine/renderer/blimp_engine_picture_cache.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/engine/renderer/blimp_engine_picture_cache.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/engine/renderer/blimp_engine_picture_cache_unittest.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/engine/renderer/engine_image_serialization_processor.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/engine/renderer/engine_image_serialization_processor.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/test/BUILD.gn
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/test/support/compositor/picture_cache_test_support.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/blimp/test/support/compositor/picture_cache_test_support.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/BUILD.gn
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/client_picture_cache.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/engine_picture_cache.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/image_serialization_processor.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/picture_data.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/picture_data.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/picture_data_conversions.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/picture_data_conversions.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/blimp/picture_data_conversions_unittest.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/cc.gyp
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/cc_tests.gyp
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/layers/picture_layer.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/layers/picture_layer_unittest.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/clip_display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/clip_display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/clip_path_display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/clip_path_display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/compositing_display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/compositing_display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/display_item_list.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/display_item_list.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/display_item_list_unittest.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/display_item_proto_factory.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/display_item_proto_factory.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/drawing_display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/drawing_display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/filter_display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/filter_display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/float_clip_display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/float_clip_display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/recording_source.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/recording_source.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/recording_source_unittest.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/transform_display_item.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/playback/transform_display_item.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/proto/display_item.proto
[delete] https://crrev.com/4debe2a0692742cc66a9b539725e3714d68bdf10/cc/proto/image_serialization_processor.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/proto/layer_tree_host.proto
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_client_picture_cache.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_client_picture_cache.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_engine_picture_cache.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_engine_picture_cache.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_image_serialization_processor.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_image_serialization_processor.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_layer_tree_host.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/fake_recording_source.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/layer_tree_test.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/layer_tree_test.h
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/picture_cache_model.cc
[add] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/picture_cache_model.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/skia_common.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/test/skia_common.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/trees/layer_tree_host.h
[modify] https://crrev.com/fbaee11e729589960ece321f39dee33e01503368/cc/trees/layer_tree_host_unittest_serialization.cc

Status: Fixed (was: Assigned)
Labels: Archive-Blimp

Sign in to add a comment