Commit Graph

50 Commits

Author SHA1 Message Date
cdalton
78f915e2f1 Add a warmup flag to visualbench
Adds a flag to control whether we use a warmup bench.

BUG=skia:

Review URL: https://codereview.chromium.org/1468233003
2015-12-10 14:20:06 -08:00
joshualitt
6ebd423941 Create a skeleton VisualDebugModule
BUG=skia:

Review URL: https://codereview.chromium.org/1498043002
2015-12-04 09:02:34 -08:00
cdalton
baf8fcbb1b Add offscreen mode to visualbench
Replaces "nvpr mode" with "offscreen mode" and a flag to enable/
disable nvpr. Assigns new config names to the various combinations of
flags and begins printing them with the bench results in order to match
nanobench.

BUG=skia:

Review URL: https://codereview.chromium.org/1473253002
2015-11-24 09:20:24 -08:00
cdalton
0f6cca8a20 Optimize visualbench offscreen blits
Modifies NvprWrappedBenchmark to present its offscreen canvas via
GrContext::copySurface rather than going through the SkCanvas API.
Only copies a subrectangle the size of the benchmark, not the entire
canvas.

BUG=skia:

Review URL: https://codereview.chromium.org/1443263002
2015-11-24 08:54:30 -08:00
joshualitt
898e02e175 Move command line print above parse in VisualBench
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1467383003
2015-11-23 13:57:46 -08:00
cdalton
60795d99ff Add visualbench option for nvpr stencil samples
Repurposes the --nvpr flag as an int that says how many stencil samples
to use, or disables nvpr with a value of zero.

BUG=skia:

Review URL: https://codereview.chromium.org/1444543002
2015-11-13 09:10:31 -08:00
cdalton
f844177496 Fix visualbench flicker on triple buffered platforms
BUG=skia:

Review URL: https://codereview.chromium.org/1441073005
2015-11-13 08:56:31 -08:00
cdalton
1023725bb6 Make visualbench timing continuous for no-reset mode
Ensures there is no period of time that is not on the clock when not
restting the graphics context between samples.

BUG=skia:

Review URL: https://codereview.chromium.org/1444473003
2015-11-13 08:42:06 -08:00
cdalton
266e2024ec Add visualbench option to not reset between samples
Adds a --reset flag that controls whether we teardown the graphics
context between samples. Also modifies the timing algorithm to always/
only pre-warm after resetting the context.

BUG=skia:

Review URL: https://codereview.chromium.org/1442643007
2015-11-13 08:28:49 -08:00
joshualitt
43f610f693 Parse command line arguments for sdl + android
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/1432983002
2015-11-10 08:27:22 -08:00
mtklein
f27f08b76d DM+VB: WallTimer -> SkTime::GetNSecs().
The same timer with a simpler interface.

BUG=skia:

Review URL: https://codereview.chromium.org/1427033003
2015-11-03 06:54:24 -08:00
cdalton
e6d2024c68 Flush GrContext between benchmark draw loops
This change updates a small subset of benchmarks to flush the GrContext
between draw loops (specifically SKP benchmarks, SampleApp, and the
warmup in visualbench). This helps improve timing accuracy by not
allowing the gpu to batch across draw boundaries in the affected
benchmarks.

BUG=skia:

Review URL: https://codereview.chromium.org/1427533002
2015-10-26 13:45:29 -07:00
cdalton
c70483f5ab Add visualbench option for device-independent fonts
BUG=skia:

Review URL: https://codereview.chromium.org/1421723004
2015-10-26 13:14:36 -07:00
joshualitt
fb02cdafda Force VisualBench to reset GLContext on GrContext reset
BUG=skia:

Review URL: https://codereview.chromium.org/1416063002
2015-10-21 08:04:24 -07:00
joshualitt
c9dd93cd5b Add NVPR to VisualBench
BUG=skia:

Review URL: https://codereview.chromium.org/1409603004
2015-10-15 09:49:31 -07:00
joshualitt
c603c143bb small tidy of benchmarkstream
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/691b6af907e55250a29a7a2a346b63c2026011c3

Review URL: https://codereview.chromium.org/1395703002
2015-10-15 07:18:29 -07:00
joshualitt
a3b8c67ea6 Revert of small tidy of benchmarkstream (patchset #2 id:20001 of https://codereview.chromium.org/1395703002/ )
Reason for revert:
Breaks visualbench

Original issue's description:
> small tidy of benchmarkstream
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/691b6af907e55250a29a7a2a346b63c2026011c3

TBR=robertphillips@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1392833006
2015-10-14 14:45:07 -07:00
joshualitt
691b6af907 small tidy of benchmarkstream
BUG=skia:

Review URL: https://codereview.chromium.org/1395703002
2015-10-14 08:04:22 -07:00
joshualitt
d0f0bceb0e Create VisualStreamTimingModule
BUG=skia:

Review URL: https://codereview.chromium.org/1385073002
2015-10-14 07:49:28 -07:00
bsalomon
f276ac5c16 Move functions from SkGr to SkGrPriv.h
Review URL: https://codereview.chromium.org/1397123002
2015-10-09 13:36:42 -07:00
joshualitt
e1f8296999 Fix for visualbench loops forever
TBR=robertphillips@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1387823004
2015-10-06 08:25:15 -07:00
joshualitt
5a74afebb7 nvpr removal from VisualBench base context
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1391633002
2015-10-06 08:05:10 -07:00
joshualitt
cb54e8ed45 Cleanup timing state machine
BUG=skia:

Review URL: https://codereview.chromium.org/1386933002
2015-10-05 13:58:26 -07:00
joshualitt
dc5db59514 move visual bench interactive module to timing state machine
BUG=skia:

Review URL: https://codereview.chromium.org/1382883003
2015-10-05 13:24:55 -07:00
joshualitt
98d2e2f095 Factor out VisualBench timing code into a helper class
BUG=skia:

Review URL: https://codereview.chromium.org/1375363003
2015-10-05 07:23:30 -07:00
mtklein
c6f5cac9bb Basic CPU support for VisualBench.
BUG=skia:

Review URL: https://codereview.chromium.org/1378393002
2015-10-01 11:56:56 -07:00
mtklein
a1ebeb25e9 Remove const from const int loops.
This drives me nuts, and prevents `while (loops --> 0)`.

BUG=skia:

Review URL: https://codereview.chromium.org/1379923005
2015-10-01 09:43:39 -07:00
joshualitt
8a6697af95 Fix for nexus 5 crashing in GL benches
GLBenches do not expect gl state  to change between onPerCanvasPreDraw and *PostDraw, but we do a clear and sometimes we clear as draw.  This causes us to bind vertex objects / programs / etc.

This change creates two new virtual methods which are called right before and immediately after timing.

BUG=skia:

Review URL: https://codereview.chromium.org/1379853003
2015-09-30 12:11:07 -07:00
joshualitt
8db65a6d0c stop scaling loops and improve warmup bench
BUG=skia:

Review URL: https://codereview.chromium.org/1363663004
2015-09-24 12:42:02 -07:00
joshualitt
7d4b458b9f Add warmup bench to visual bench
BUG=skia:

Review URL: https://codereview.chromium.org/1358373003
2015-09-24 08:08:23 -07:00
joshualitt
fb33ae15ce Not correctly initializing VisualBench commandline arguments
TBR=mtklein@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1340163004
2015-09-18 06:47:39 -07:00
mtklein
ca6f43b6fd vb: also thread --key through to .json
BUG=skia:

Review URL: https://codereview.chromium.org/1342203002
2015-09-15 13:29:20 -07:00
jvanverth
f5d1b2de03 Add viewer mode to VisualBench.
Displays each benchmark/skp with a graph showing a series of frame times.
Use the space bar to skip to the next benchmark.

Adds an option to hit ESC to quit VisualBench. Useful in fullscreen mode.

Review URL: https://codereview.chromium.org/1336043003
2015-09-15 07:40:56 -07:00
mtklein
fe81e2d274 Make SkGraphics::Term a no-op, stop calling it.
I'd remove it entirely but Android is calling it explicitly.

BUG=skia:4259

Committed: https://skia.googlesource.com/skia/+/925979f733fe8e70d84627147dee04d030423349

Review URL: https://codereview.chromium.org/1329853005
2015-09-09 07:35:42 -07:00
mtklein
d9b8d7ac1f Revert of Make SkGraphics::Term a no-op, stop calling it. (patchset #2 id:20001 of https://codereview.chromium.org/1329853005/ )
Reason for revert:
SK_ATTR_DEPRECATED is meaningful to Android.  Don't use it.

Original issue's description:
> Make SkGraphics::Term a no-op, stop calling it.
>
> I'd remove it entirely but Android is calling it explicitly.
>
> BUG=skia:4259
>
> Committed: https://skia.googlesource.com/skia/+/925979f733fe8e70d84627147dee04d030423349

TBR=reed@google.com,scroggo@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4259

Review URL: https://codereview.chromium.org/1314483006
2015-09-09 07:22:09 -07:00
mtklein
925979f733 Make SkGraphics::Term a no-op, stop calling it.
I'd remove it entirely but Android is calling it explicitly.

BUG=skia:4259

Review URL: https://codereview.chromium.org/1329853005
2015-09-08 15:18:21 -07:00
joshualitt
189aef7834 Create module system for VisualBench
The newly created VisualLightweightBenchModule is just the old VisualBench.cpp, but gutted to only include timing code.

Future CLs will harden this abstraction, but for this CL the module owns a backpointer to VisualBench.cpp for a couple of calls.

BUG=skia:

Review URL: https://codereview.chromium.org/1304083007
2015-09-08 07:08:11 -07:00
joshualitt
55143211e9 Minor tweak to visual bench timing
BUG=skia:

Review URL: https://codereview.chromium.org/1310153005
2015-09-04 07:48:42 -07:00
halcanary
96fcdcc219 Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
2015-08-27 07:41:16 -07:00
halcanary
385fe4d4b6 Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
2015-08-26 13:07:49 -07:00
joshualitt
5b4a7abd48 Adding sucessful exit message to VisualBench
BUG=skia:

Review URL: https://codereview.chromium.org/1287763004
2015-08-19 08:21:48 -07:00
joshualitt
892b0c3db9 Add skeleton json support to visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1298213002
2015-08-18 12:13:34 -07:00
caryclark
6531c3619f Generate platform specific fontmgr gm.
The gm output on different font platforms is so different
that comparing images in Gold has little value. Separate the
images by appending platform information to the gm name to
group somewhat similar images together.

Note that this does not attempt to make sure that all images
generated by Gold are nearly pixel identical; it only reduces
the number of nonsensical comparisons.

R=bungeman@google.com

Review URL: https://codereview.chromium.org/1245643002
2015-07-20 13:38:56 -07:00
joshualitt
a2a6fe8699 Some cleanups of VisualBench
BUG=skia:

Review URL: https://codereview.chromium.org/1240633005
2015-07-17 09:09:23 -07:00
joshualitt
47d280d3b0 Fix visual bench memory leak
BUG=skia:

Review URL: https://codereview.chromium.org/1239103002
2015-07-16 14:23:22 -07:00
joshualitt
31b21f6719 Small fix for visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1237563005
2015-07-16 13:40:51 -07:00
joshualitt
82874f8b28 Match works correctly on visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1234123004
2015-07-15 08:38:02 -07:00
joshualitt
d4fa90feea Fix VisualBench to hold onto a surface
BUG=skia:

Review URL: https://codereview.chromium.org/1236723003
2015-07-15 06:18:57 -07:00
joshualitt
962cc98eb4 Add benchmarkstream to visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1215033002
2015-06-30 07:43:14 -07:00
joshualitt
91b6f32e07 Move visualbench to its own folder
BUG=skia:

Review URL: https://codereview.chromium.org/1216973002
2015-06-30 06:50:10 -07:00