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

Issue 858895 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Investigate gpu-scheduler performance for OOP-D

Project Member Reported by sadrul@chromium.org, Jun 29 2018

Issue description

OOP-D currently does not use the gpu::Scheduler [1] from InProcessCommandBuffer [2] (although it does get created [3]). We want to measure the impact of the scheduler with oop-d to decide whether we want to have this or not. There is a CL that enables the scheduler for OOP-D: https://chromium-review.googlesource.com/c/chromium/src/+/782666. This bug tracks the work needed to measure the impact of that CL, to help decide if this is something we want to or not.

(cc'ing a bunch of people who have been involved in the discussions)

[1] https://cs.chromium.org/chromium/src/gpu/command_buffer/service/scheduler.h?type=cs&q=gpu::Scheduler&sq=package:chromium&g=0&l=36
[2] https://cs.chromium.org/chromium/src/gpu/ipc/in_process_command_buffer.cc?l=631
[3] https://cs.chromium.org/chromium/src/components/viz/service/gl/gpu_service_impl.cc?type=cs&sq=package:chromium&g=0&l=244
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 29 2018

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

commit 00722f3fb1b74cc47a4855c76e953a674153b683
Author: Sadrul Habib Chowdhury <sadrul@chromium.org>
Date: Fri Jun 29 04:22:34 2018

gpu: Add trace-events for command-buffer.

Add async trace-events for selected commands to see how long they
spend in the queue. This can then be used to measure the impact of
the gpu-scheduler. This can be done by adding 'trace_queueing_time'
attribute to the commands. This CL adds this only to SwapBuffers.

BUG=858895

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I75146dd806f54357d0d669e92c1d461dc04d912c
Reviewed-on: https://chromium-review.googlesource.com/1114057
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571384}
[modify] https://crrev.com/00722f3fb1b74cc47a4855c76e953a674153b683/gpu/command_buffer/build_cmd_buffer_lib.py
[modify] https://crrev.com/00722f3fb1b74cc47a4855c76e953a674153b683/gpu/command_buffer/build_gles2_cmd_buffer.py
[modify] https://crrev.com/00722f3fb1b74cc47a4855c76e953a674153b683/gpu/command_buffer/common/gles2_cmd_format.h
[modify] https://crrev.com/00722f3fb1b74cc47a4855c76e953a674153b683/gpu/command_buffer/common/gles2_cmd_format_autogen.h
[modify] https://crrev.com/00722f3fb1b74cc47a4855c76e953a674153b683/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h

Comment 2 by piman@chromium.org, Jun 29 2018

Note, there may be other reasons to want to do that, as it may simplify sync token logic if we can assume the scheduler is always there (right now the logic is broken up into the Scheduler and the SyncPointManager), but having some definite measurements of the effects is desirable to make sure we don't regress if we go that route.

Sign in to add a comment