New issue
Advanced search Search tips

Issue 803925 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 757605



Sign in to add a comment

OOP Raster is slow on Animometer / css bouncing filter circles

Project Member Reported by enne@chromium.org, Jan 19 2018

Issue description

See: https://docs.google.com/spreadsheets/d/1OOwom-grrORm6C32-EM3Avk1L19z8D2AxVFKD-hNIKQ/edit#gid=0

When running at either ramp or fixed complexity, oop raster is slow relative to gpu raster.

Scores:
oop: 23.49
gpu: 35.13
software: 22.00

This needs to be investigated.
 

Comment 1 by enne@chromium.org, Jan 19 2018

Components: Internals>Compositing>Rasterization
Components: Internals>Compositing>OOP-Raster
Owner: khushals...@chromium.org
Status: Assigned (was: Available)
 Issue 803924  has been merged into this issue.
Project Member

Comment 5 by bugdroid1@chromium.org, Feb 16 2018

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

commit 97d10f2b699878b3f49229eaa2a0ca4dc1a722ae
Author: Khushal <khushalsagar@chromium.org>
Date: Fri Feb 16 07:59:47 2018

gpu: Ensure RingBuffer maintains aligned memory offsets.

When requesting a buffer for OOP raster, the client requests the
largest free size for which no tokens are pending, and can be allocated
without waiting. This is queried from RingBuffer::GetLargestFreeSize.
However, since this size is rounded up to the next alignment when making
the allocation, this results in synchronously waiting on tokens to make
room for the extra padding.

Ensure that ShrinkLastBlock rounds up the new size for the block so
the buffer always has memory aligned free size.

R=enne@chromium.org, piman@chromium.org

Bug:  803925 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Iff1286b6f412f126dbf33300387f85f9c21e91ed
Reviewed-on: https://chromium-review.googlesource.com/922445
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537250}
[modify] https://crrev.com/97d10f2b699878b3f49229eaa2a0ca4dc1a722ae/gpu/command_buffer/client/ring_buffer.cc
[modify] https://crrev.com/97d10f2b699878b3f49229eaa2a0ca4dc1a722ae/gpu/command_buffer/client/ring_buffer.h
[modify] https://crrev.com/97d10f2b699878b3f49229eaa2a0ca4dc1a722ae/gpu/command_buffer/client/ring_buffer_test.cc
[modify] https://crrev.com/97d10f2b699878b3f49229eaa2a0ca4dc1a722ae/gpu/command_buffer/client/transfer_buffer_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment