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

Issue 558513003: command_buffer: Batch command processing to reduce handler overheads. (Closed)

Created:
6 years, 3 months ago by vmiura
Modified:
6 years, 3 months ago
Reviewers:
jbauman, piman
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

command_buffer: Batch command processing to reduce handler overheads. Old processing order for each command: scheduler.PutChanged() -> parser::ParseCommand() -> decoder::DoCommand() This patch runs commands in batches (default of 20): scheduler.PutChanged() -> CmdParser::ParseCommands(20) -> dec::DoCommands(..) Performance improvement is an average 0.2ms/frame on N5 on GPU rasterized pages. BUG=394570 Committed: https://crrev.com/8266ca7b30020175e2564b9760597672f7f3ad57 Cr-Commit-Position: refs/heads/master@{#294017}

Patch Set 1 #

Patch Set 2 : Fix a bad return in DoCommand(). #

Total comments: 8

Patch Set 3 : Fix comments. #

Patch Set 4 : Add missing GPU_EXPORT & comments. #

Patch Set 5 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+437 lines, -162 lines) Patch
M gpu/command_buffer/client/cmd_buffer_helper_test.cc View 1 chunk +2 lines, -1 line 0 comments Download
M gpu/command_buffer/client/fenced_allocator_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/client/mapped_memory_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/client/ring_buffer_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/cmd_parser.h View 1 2 3 4 4 chunks +16 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/cmd_parser.cc View 1 2 3 4 1 chunk +53 lines, -34 lines 0 comments Download
M gpu/command_buffer/service/cmd_parser_test.cc View 14 chunks +52 lines, -58 lines 0 comments Download
M gpu/command_buffer/service/common_decoder_unittest.cc View 1 2 1 chunk +4 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 13 chunks +144 lines, -44 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_mock.h View 2 chunks +10 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_mock.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 2 chunks +100 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 chunk +4 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gpu_scheduler.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/gpu_scheduler_unittest.cc View 2 chunks +5 lines, -1 line 0 comments Download
M gpu/command_buffer/service/mocks.h View 2 chunks +12 lines, -1 line 0 comments Download
M gpu/command_buffer/service/mocks.cc View 1 chunk +17 lines, -1 line 0 comments Download

Messages

Total messages: 12 (2 generated)
vmiura
ptal
6 years, 3 months ago (2014-09-09 00:00:02 UTC) #2
vmiura
Discussing with John I think it makes sense to remove CommandParser entirely as it's just ...
6 years, 3 months ago (2014-09-09 00:23:37 UTC) #3
piman
LGTM, couple of nits / suggestions. Some thoughts for further improvement (maybe a later CL): ...
6 years, 3 months ago (2014-09-09 00:59:01 UTC) #4
piman
On Mon, Sep 8, 2014 at 5:23 PM, <vmiura@chromium.org> wrote: > Discussing with John I ...
6 years, 3 months ago (2014-09-09 01:06:57 UTC) #5
vmiura
https://codereview.chromium.org/558513003/diff/20001/gpu/command_buffer/service/common_decoder_unittest.cc File gpu/command_buffer/service/common_decoder_unittest.cc (right): https://codereview.chromium.org/558513003/diff/20001/gpu/command_buffer/service/common_decoder_unittest.cc#newcode190 gpu/command_buffer/service/common_decoder_unittest.cc:190: // TODO(vmiura): fix this I need to delete this ...
6 years, 3 months ago (2014-09-09 01:16:11 UTC) #6
vmiura
Fixed issues. Also refactored the Error cases slightly in GLES2DecoderImpl::DoCommands(). https://codereview.chromium.org/558513003/diff/20001/gpu/command_buffer/service/common_decoder_unittest.cc File gpu/command_buffer/service/common_decoder_unittest.cc (right): https://codereview.chromium.org/558513003/diff/20001/gpu/command_buffer/service/common_decoder_unittest.cc#newcode190 ...
6 years, 3 months ago (2014-09-09 01:38:56 UTC) #7
piman
lgtm
6 years, 3 months ago (2014-09-09 01:46:41 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/vmiura@chromium.org/558513003/80001
6 years, 3 months ago (2014-09-09 20:14:31 UTC) #10
commit-bot: I haz the power
Committed patchset #5 (id:80001) as 16ac6ea5fb859186aae33d764bc8dfb10c01c50b
6 years, 3 months ago (2014-09-09 21:37:44 UTC) #11
commit-bot: I haz the power
6 years, 3 months ago (2014-09-10 03:55:55 UTC) #12
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/8266ca7b30020175e2564b9760597672f7f3ad57
Cr-Commit-Position: refs/heads/master@{#294017}

Powered by Google App Engine
This is Rietveld 408576698