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

Issue 1220753005: content: perf tests for GpuMemoryBuffers mapping and data coherency

Created:
5 years, 5 months ago by vignatti (out of this project)
Modified:
5 years, 5 months ago
Reviewers:
dshwang, reveman
CC:
chromium-reviews, danakj+watch_chromium.org, darin-cc_chromium.org, jam, jbauman+watch_chromium.org, kalyank, piman+watch_chromium.org, sievers+watch_chromium.org
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 Alternate perftest using GMB unit tests. The idea is to benchmark how the hardware, on different usages of GpuMemoryBuffer, performs when a native buffer object is mapped into the CPU. In particular this test aims to capture the effects of data coherency and could be extended further to 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. TEST=content_perftests --gtest_filter=GpuMemoryBufferPerf* --ozone-platform=gbm --ozone-use-surfaceless BUG=475633

Patch Set 1 #

Patch Set 2 : remove superfluous code from Map #

Patch Set 3 : move to content_perftest #

Patch Set 4 : print mean instead #

Patch Set 5 : Add Read, Write and Read & Write #

Patch Set 6 : update to ToT + needed CLs (1128113011, 1134993003, 1208603002 and 1212133006) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+244 lines, -0 lines) Patch
A content/common/gpu/client/gpu_memory_buffer_impl_perftest.cc View 1 2 3 4 5 1 chunk +243 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
vignatti (out of this project)
reveman, you been thinking it like this? I'd need to add the other operations then ...
5 years, 5 months ago (2015-06-30 00:10:12 UTC) #2
reveman
seems good in general. can you make Map test smaller instead of including all the ...
5 years, 5 months ago (2015-06-30 21:19:53 UTC) #3
vignatti (out of this project)
On 2015/06/30 21:19:53, reveman wrote: > seems good in general. can you make Map test ...
5 years, 5 months ago (2015-07-01 14:03:58 UTC) #5
vignatti (out of this project)
Just want to add some information here to show the usefulness this CL. Map by ...
5 years, 5 months ago (2015-07-01 14:20:47 UTC) #6
vignatti (out of this project)
5 years, 5 months ago (2015-07-01 17:31:26 UTC) #7
this CL depends on the up coming NativePixmapManager
(https://codereview.chromium.org/1128113011/)

Powered by Google App Engine
This is Rietveld 408576698