| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Looks like a fairly large recording speed win with no playback cost.
BUG=skia:
Review URL: https://codereview.chromium.org/653023003
|
|
|
|
| |
Review URL: https://codereview.chromium.org/680553002
|
|
|
|
|
|
|
|
| |
(This CL will certainly trigger performance regression alerts. Tiled drawing is slower than non-tiled drawing.)
BUG=skia:
Review URL: https://codereview.chromium.org/669983002
|
|
|
|
|
|
|
|
|
|
| |
Got to keep our precious data in event of a crash.
With --flushEvery 10 I'm not seeing this cost any wall time.
BUG=skia:
Review URL: https://codereview.chromium.org/653083003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/643143002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism. Move
the logic to subclasses of the various platform implementations.
This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.
With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.
Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.
BUG=skia:2992
Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8
Review URL: https://codereview.chromium.org/630843002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
id:60001 of https://codereview.chromium.org/630843002/)
Reason for revert:
nanobech failing on Android
Original issue's description:
> Make the Sk GL context class an abstract base class
>
> Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
> it depended on ifdefs to implement the platform dependent polymorphism. Move
> the logic to subclasses of the various platform implementations.
>
> This a step to enable Skia embedders to compile dm and bench_pictures. The
> concrete goal is to support running these test apps with Chromium command buffer.
>
> With this change, Chromium can implement its own version of SkGLNativeContext
> that uses command buffer, and host the implementation in its own repository.
>
> Implements the above by renaming the SkGLContextHelper to SkGLContext and
> removing the unneeded SkGLNativeContext. Also removes
> SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
> no use in Skia code, and no tests.
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8
TBR=kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992
Review URL: https://codereview.chromium.org/639793002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism. Move
the logic to subclasses of the various platform implementations.
This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.
With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.
Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.
BUG=skia:2992
Review URL: https://codereview.chromium.org/630843002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't know that anyone but me is using this. Speak up now!
BUG=skia:
NOTREECHECKS=true
R=mtklein@google.com, tfarina@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/599913002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:2949
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/581083002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/572933006/)
Reason for revert:
skia:2944
Original issue's description:
> nanobench: lazily decode bitmaps from SKPs
>
> This makes it considerably cheaper to run SKP recording benchmarks, without
> affecting their measurements and without really affecting SKP playback
> benchmarks at all.
>
> On my machine, running out/Release/nanobench --match skp --config nondrendering
> drops in run time from 6.7s to 2.5s, and the peak RAM usage drops from 129M to 50M.
>
> I'm strongly considering making this lazy decoding the default.
>
> BUG=skia:2944
>
> Committed: https://skia.googlesource.com/skia/+/d664c21a38de98d8db210c46f7a8c4187f1534da
R=robertphillips@google.com, mtklein@chromium.org
TBR=mtklein@chromium.org, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2944
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/554583004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it considerably cheaper to run SKP recording benchmarks, without
affecting their measurements and without really affecting SKP playback
benchmarks at all.
On my machine, running out/Release/nanobench --match skp --config nondrendering
drops in run time from 6.7s to 2.5s, and the peak RAM usage drops from 129M to 50M.
I'm strongly considering making this lazy decoding the default.
BUG=skia:
R=robertphillips@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/572933006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Today we measure SkPicture playback speed, but not the time it takes to record
the SkPicture. This fixes that by reading SKPs from disk and re-recording them.
On the console, recording shows up first as the nonrendering skp benches,
followed later by the usual playback benches:
maxrss loops min median mean max stddev samples config bench
51M 2 165µs 168µs 169µs 178µs 3% ▆▄▃█▂▄▁▂▁▁ nonrendering tabl_slashdot.skp
57M 1 9.72ms 9.77ms 9.79ms 9.97ms 1% █▂▂▅▃▂▁▄▂▁ nonrendering desk_pokemonwiki.skp
57M 32 2.92µs 2.96µs 3.03µs 3.46µs 6% ▅▁▁▁▁▁▁█▂▁ nonrendering desk_yahoosports.skp
...
147M 1 3.86ms 3.87ms 3.97ms 4.81ms 7% █▁▁▁▁▁▁▁▁▁ 8888 tabl_slashdot.skp_1
147M 1 4.54ms 4.56ms 4.55ms 4.56ms 0% █▅▇▅█▅▂▁▅▁ 565 tabl_slashdot.skp_1
147M 2 3.08ms 3.24ms 4.17ms 8.18ms 50% █▁▁█▁▁▁▁▁▁ gpu tabl_slashdot.skp_1
147M 1 1.61ms 1.62ms 1.69ms 2.33ms 13% █▁▁▁▁▁▁▁▁▁ 8888 desk_pokemonwiki.skp_1
147M 1 1.44ms 1.44ms 1.45ms 1.47ms 1% ▅▂█▂▂▅▁▁▂▁ 565 desk_pokemonwiki.skp_1
...
On skiaperf.com, they'll also be separated out from playback benches by bench_type.
BUG=skia:
R=reed@google.com, mtklein@google.com, jcgregorio@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/559153002
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turns out we tack on the size post-facto in ResultsWriter::bench(), so the only
place we need getUniqueName() to differ from getName() is SKPBench.
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/552303004
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Column of samples is too wide. This makes config is not align with the
'config' title. Pad 'samples' tilte with some whitespaces to fix this
issue.
BUG=skia:
R=mtklein@google.com
Author: qiankun.miao@intel.com
Review URL: https://codereview.chromium.org/549153005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ex. dm --match patch -w bad --key arch x86 gpu nvidia model z620 --properties git_hash abcd build_number 20 ->
{
"build_number" : "20",
"git_hash" : "abcd",
"key" : {
"arch" : "x86",
"gpu" : "nvidia",
"model" : "z620"
},
"results" : [
{
"key" : {
"config" : "565",
"name" : "ninepatch-stretch"
},
"md5" : "f78cfafcbabaf815f3dfcf61fb59acc7",
"options" : {
"source_type" : "GM"
}
},
{
"key" : {
"config" : "8888",
"name" : "ninepatch-stretch"
},
"md5" : "3e8a42f35a1e76f00caa191e6310d789",
"options" : {
"source_type" : "GM"
}
},
...
This breaks -r, but that's okay. Going to follow up this CL with one that removes that entirely.
BUG=skia:
R=stephana@google.com, jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/551873003
|
|
|
|
|
|
|
|
| |
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/544233002
|
|
|
|
|
|
|
|
| |
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/540963002
|
|
|
|
|
|
|
|
|
| |
R=rmistry@google.com
TBR=bsalomon
Author: reed@google.com
Review URL: https://codereview.chromium.org/536003002
|
|
|
|
|
|
|
|
|
|
| |
This paves the way for removing the 'fTile' parameter from SkPictureShader (although that should be a different CL). If we like this we could also move to providing an entire cull SkRect.
R=reed@google.com, mtklein@google.com, fmalita@google.com, fmalita@chromium.org
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/513983002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:2797
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/474983007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chrome's using a bounding box, so it's a good idea for our
bots to do so too.
When set, we'll create an SkTileGrid to match the
parameters of --clip, and so should always hit its fast
path.
This will impose a small overhead (querying the BBH) on all
SKPs, but make large SKPs render more quickly. E.g. on
GPU desk_pokemonwiki should show about a 30% improvement,
tabl_mozilla about 40%, and one very long page from my
personal suite, askmefast.com, gets 5x faster.
(The performance changes are not the point of the CL, but
something we should be aware of.)
BUG=
R=bsalomon@google.com, mtklein@google.com, robertphillips@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/497493003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
run.
--key describes the type of run (describes the line on the chart), --properties
describes the run itself (describes the dot on the chart).
We'll pass --properties gitHash <git hash> build_number <build number> --key
... to nanobench from the bots.
And... delete a whole lot of dead code.
Example: nanobench --properties gitHash foo build_number 1234 --key bar baz
{
"build_number" : "1234",
"gitHash" : "foo",
"key" : {
"bar" : "baz"
},
"results" : {
....
Friends with https://codereview.chromium.org/491943002
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/488213002
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes our builds more like Chrome's, and will make our builds fail
if we accidentally use if SK_DEBUG instead of ifdef SK_DEBUG.
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/481513004
|
|
|
|
|
|
|
|
|
|
|
| |
Everyone used MB, so update the API to just return that.
BUG=skia:
R=halcanary@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/483323002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Friends with https://codereview.chromium.org/487233003/
Example of out/Release/nanobench --options build_number 12374 --match patch_grid_texs_small
{
"gitHash":"unknown-revision",
"options":{
"build_number":"12374",
"system":"UNIX"
},
"results":{
"patch_grid_texs_small_640_480":{
"565":{
"max_ms":0.268116,
"mean_ms":0.2318529,
"median_ms":0.235337,
"min_ms":0.219158,
"options":{
"source_type":"bench"
},
"stddev_ms":0.01491263917658814
},
"8888":{
"max_ms":0.231881,
"mean_ms":0.2214668,
"median_ms":0.219356,
"min_ms":0.218887,
"options":{
"source_type":"bench"
},
"stddev_ms":0.004595541070791701
},
"gpu":{
"max_ms":0.1398304782608696,
"mean_ms":0.128833402173913,
"median_ms":0.1316798695652174,
"min_ms":0.1111915434782609,
"options":{
"GL_RENDERER":"Quadro 600/PCIe/SSE2",
"GL_SHADING_LANGUAGE_VERSION":"4.40 NVIDIA via Cg compiler",
"GL_VENDOR":"NVIDIA Corporation",
"GL_VERSION":"4.4.0 NVIDIA 331.79",
"source_type":"bench"
},
"stddev_ms":0.008923738937837156
}
}
}
}
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/490683002
|
|
|
|
|
|
|
|
| |
R=bsalomon@google.com, robertphillips@google.com, mtklein@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/468293002
|
|
|
|
|
|
|
|
| |
R=bsalomon@google.com, mtklein@google.com, robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/465073002
|
|
|
|
|
|
|
|
|
|
|
| |
CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/452633002
|
|
|
|
|
|
|
|
|
|
| |
Add option to set the repeat count to any number, replacs the --runOnce flag.
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/450743002
|
|
|
|
|
|
|
|
|
|
|
| |
nanobench.
NOTREECHECKS=true
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/441333003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the old logic, if the last attempt succeeded, we'd say we failed.
We also print two lines for loop calibration failures. Quiet that down.
BUG=skia:
R=djsollen@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/431503004
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More SKPs are failing with a 565 target on other platforms:
http://108.170.220.120:10117/builders/Test-Win7-ShuttleA-HD2000-x86-Debug/builds/2938/steps/RunNanobench/logs/stdio
BUG=skia:2797
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/431983006
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is meant to replace bench_pictures.
CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Release-iOS-Trybot
BUG=skia:
R=bsalomon@google.com, jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/425393004
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/438683002
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename GrContext::contextDestroyed to GrContext::abandonContext.
Remove GrContext::resetContext.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422903002
|
|
|
|
|
|
|
|
| |
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/410683005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Share command flags between dm and unit tests.
Also, allow dm's core to be included by itself and iOSShell.
Command line flags that are the same (or nearly the same) in DM
and in skia_tests have been moved to common_flags. Authors,
please check to see that the shared common flag is correct for
the tool.
For iOS, the 'tool_main' entry point has a wrapper to allow multiple
tools to be statically linked in the iOSShell.
Since SkCommandLineFlags::Parse can only be called once, these calls
are disabled in the IOS build.
Since the iOS app directory is dynamically assigned a name, use '@' to
select it. (This is the same convention chosen by the Mobile Harness
iOS file system utilities.)
Move the heart of dm.gyp into dm.gypi so that it can be included by
itself and iOSShell.gyp.
Add tools/flags/SkCommonFlags.* to define and declare common
command line flags.
Add support for dm to iOSShell.
BUG=skia:
R=scroggo@google.com, mtklein@google.com, jvanverth@google.com, bsalomon@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/389653004
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=mtklein@google.com
Author: jcgregorio@google.com
Review URL: https://codereview.chromium.org/405433008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're moving away from BigQuery for storing results so the output doens't have to conform to BQ requirements, which allows simplifying the format. Also stop parsing the filename for information and pass in buildbot parameters explicitly.
Adds the following flags to nanobench:
--key
--gitHash
BUG=skia:
R=mtklein@google.com, bsalomon@google.com
Author: jcgregorio@google.com
Review URL: https://codereview.chromium.org/392393002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/401663002/)
Reason for revert:
Shouldn't be needed anymore.
Original issue's description:
> nanobench: --veryVerbose for more Win7 debugging
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e57452d
R=mtklein@chromium.org
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/404543004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/401663002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/404543002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This seems to be ~100x higher resolution than QueryPerformanceCounter. AFAIK, all our Windows perf bots have constant_tsc, so we can be a bit more direct about using rdtsc directly: it'll always tick at the max CPU frequency.
Now, the question remains, what is the max CPU frequency to divide through by? It looks like QueryPerformanceFrequency actually gives the CPU frequency in kHz, suspiciously exactly what we need to divide through to get elapsed milliseconds. That was a freebie.
I did some before/after comparison on slow benchmarks. Timings look the same. Going to land this without review tonight to see what happens on the bots; happy to review carefully tomorrow.
R=mtklein@google.com
TBR=bungeman
BUG=skia:
Review URL: https://codereview.chromium.org/394363003
|
|
|
|
|
|
|
|
| |
NOTREECHECKS=true
BUG=skia:
Review URL: https://codereview.chromium.org/396753004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/394893002
|
|
|
|
|
|
|
|
|
|
|
| |
NOTREECHECKS=true
BUG=skia:
R=bsalomon@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/393673006
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defaulting to true to be conservative for now.
BUG=skia:
NOTREECHECKS=true
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/398483005
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=egdaniel@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/392583005
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=kelvinly@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/390933002
|