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

Issue 1187793006: content: perf tests for GpuMemoryBuffers mapping and data coherency (Closed)

Created:
5 years, 6 months ago by vignatti (out of this project)
Modified:
5 years, 5 months ago
Reviewers:
dshwang, reveman
CC:
chromium-reviews, darin-cc_chromium.org, jam
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

content: perf tests for GpuMemoryBuffers mapping and data coherency The idea is to benchmark how the hardware, on different usages of GpuMemoryBuffer, performs when the native buffer object (bo) is mapped into the CPU. In particular this test aims to capture the effects of data coherency and answer the following: - measure memory mapping performance of GpuMemoryBuffer using shared memory (fallback case) and also native implementation of it. - what if the Renderer process (client) just writes into the buffer object? - what's the effect of reading from a write-combining (WC) memory? can we avoid read backs? - should it be UC and/or WC mapped, to get a faster access? - what the effect of clients doing sequential writes or non-sequential? If the latter, a WC mapping may end up being very slow. Besides, this CL mimics Chrome OS vgem_fb_test.c but using CC and content to get a close to real feeling of the things. It's rather important to stress native buffers, so GL and etc needs to work together with a 3D (non-fake) output surface. These tests are running on top of content/ architecture. (Note that content/child directory is not a strong requirement; I've only placed this perf test there cause the foundation's of it got stolen from child_thread_impl_browsertest.cc) TEST=content_browsertests --ozone-platform=gbm --ozone-use-surfaceless --no-sandbox --gtest_filter=ChildThreadImplGpuMemoryBufferPerfTests* BUG=475633

Patch Set 1 #

Patch Set 2 : #

Total comments: 13

Patch Set 3 : separate tests for each memory operation #

Patch Set 4 : add description, move from DRAFT to a real CL #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+224 lines, -0 lines) Patch
A content/child/child_thread_impl_perftest.cc View 1 2 3 1 chunk +222 lines, -0 lines 6 comments Download
M content/content_tests.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (2 generated)
vignatti (out of this project)
reveman, this is something I'm using to test GpuMemoryBuffer mapping time. It's useful to benchmark ...
5 years, 6 months ago (2015-06-18 20:05:03 UTC) #3
vignatti (out of this project)
5 years, 6 months ago (2015-06-18 20:05:20 UTC) #4
reveman
I think this is useful https://codereview.chromium.org/1187793006/diff/20001/content/child/child_thread_impl_perftest.cc File content/child/child_thread_impl_perftest.cc (right): https://codereview.chromium.org/1187793006/diff/20001/content/child/child_thread_impl_perftest.cc#newcode1 content/child/child_thread_impl_perftest.cc:1: // Copyright 2015 The ...
5 years, 6 months ago (2015-06-18 21:08:58 UTC) #5
vignatti (out of this project)
Thanks for reviewing. I'll be working on this now then. https://codereview.chromium.org/1187793006/diff/20001/content/child/child_thread_impl_perftest.cc File content/child/child_thread_impl_perftest.cc (right): https://codereview.chromium.org/1187793006/diff/20001/content/child/child_thread_impl_perftest.cc#newcode1 ...
5 years, 6 months ago (2015-06-18 21:59:46 UTC) #6
vignatti (out of this project)
reveman, PTAL. I think it's closer a bit now from what you were suggesting.
5 years, 6 months ago (2015-06-19 23:38:51 UTC) #7
reveman
https://codereview.chromium.org/1187793006/diff/20001/content/child/child_thread_impl_perftest.cc File content/child/child_thread_impl_perftest.cc (right): https://codereview.chromium.org/1187793006/diff/20001/content/child/child_thread_impl_perftest.cc#newcode1 content/child/child_thread_impl_perftest.cc:1: // Copyright 2015 The Chromium Authors. All rights reserved. ...
5 years, 6 months ago (2015-06-22 20:41:57 UTC) #8
dshwang
hi Tiago, it's really nice test framework. https://codereview.chromium.org/1187793006/diff/60001/content/child/child_thread_impl_perftest.cc File content/child/child_thread_impl_perftest.cc (right): https://codereview.chromium.org/1187793006/diff/60001/content/child/child_thread_impl_perftest.cc#newcode36 content/child/child_thread_impl_perftest.cc:36: ChildGpuMemoryBufferManager* child_gpu_memory_buffer_manager_ ...
5 years, 5 months ago (2015-06-25 10:52:11 UTC) #9
vignatti (out of this project)
On 2015/06/22 20:41:57, reveman wrote: > Does this need to be an integration test (browsertest)? ...
5 years, 5 months ago (2015-06-25 14:41:28 UTC) #10
reveman
On 2015/06/25 at 14:41:28, tiago.vignatti wrote: > On 2015/06/22 20:41:57, reveman wrote: > > Does ...
5 years, 5 months ago (2015-06-25 14:55:48 UTC) #11
vignatti (out of this project)
On 2015/06/25 14:55:48, reveman wrote: > I'm confused. What does GL and raster threads have ...
5 years, 5 months ago (2015-06-30 00:08:25 UTC) #12
vignatti (out of this project)
5 years, 5 months ago (2015-07-03 16:30:05 UTC) #13
closing this CL in favour of https://codereview.chromium.org/1220753005, which
is content_perftests based.

Powered by Google App Engine
This is Rietveld 408576698