aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/PictureBenchmark.cpp
Commit message (Collapse)AuthorAge
* Update old tools to allow MultiPictureDraw renderingGravatar robertphillips2014-10-09
| | | | | | I'll post a separate patch for nanobench and dm Review URL: https://codereview.chromium.org/639013003
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Optimize correct picture in bench_pictures when using --bbhGravatar robertphillips2014-07-29
| | | | | | | | | | Almost all PictureRenderer::init implementations have the power to overwrite the picture. Retrieve the correct SkPicture from the renderer for optimization. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/428883008
* Add auto purging for SkPicture-related Ganesh resources (esp. layers)Gravatar robertphillips2014-07-22
| | | | | | | | | | This is intended to lower the bookkeeping burden for the Layer Caching feature. Cached layers are now automatically purged when a picture is deleted. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/408923002
* Make SKP bench JSON ouput betterGravatar kelvinly2014-06-26
| | | | | | | | | | BUG=skia: NOTREECHECKS=true R=bensong@google.com, jcgregorio@google.com, bsalomon@google.com, robertphillips@google.com, rmistry@google.com Author: kelvinly@google.com Review URL: https://codereview.chromium.org/329993008
* Move BenchTimer to tools as TimerGravatar mtklein2014-06-20
| | | | | | | | | | | | | | | This breaks a bunch of circular dependencies between tools and gm and bench. BUG=skia: Committed: https://skia.googlesource.com/skia/+/4ed75287aed6371c6e4a41ffcc78c8a49c9810ed CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot,Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot R=tfarina@chromium.org, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/344213003
* Revert of Move BenchTimer to tools as Timer ↵Gravatar mtklein2014-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/344213003/) Reason for revert: GpuTimer broken Original issue's description: > Move BenchTimer to tools as Timer > > This breaks a bunch of circular dependencies between tools and gm and bench. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4ed75287aed6371c6e4a41ffcc78c8a49c9810ed R=tfarina@chromium.org, mtklein@chromium.org TBR=mtklein@chromium.org, tfarina@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/346753003
* Move BenchTimer to tools as TimerGravatar mtklein2014-06-20
| | | | | | | | | | | This breaks a bunch of circular dependencies between tools and gm and bench. BUG=skia: R=tfarina@chromium.org, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/344213003
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-05-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14984 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reland https://codereview.chromium.org/286903025Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | BUG=skia: R=bensong@google.com, epoger@google.com Author: kelvinly@google.com Review URL: https://codereview.chromium.org/304613002 git-svn-id: http://skia.googlecode.com/svn/trunk@14966 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of PictureBenchmark JSON logging ↵Gravatar commit-bot@chromium.org2014-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/286903025/) Reason for revert: Broke some Windows builds; see http://skbug.com/2609 ('certain Windows Build-* bots failing since r14905'). Before re-landing with a fix, please send to some of the trybots that failed the first time. Original issue's description: > Add JSON logging support to bench_pictures by adding a PictureResultsWriter class (in tools/PictureResultsWriter.h) to process logging information, using a very similar style as bench/ResultsWriter.h > > JSON format described in code, above PictureJSONResultsWriter class > > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=14906 R=bensong@google.com, jcgregorio@google.com, kelvinly@google.com TBR=bensong@google.com, jcgregorio@google.com, kelvinly@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2609 Author: epoger@google.com Review URL: https://codereview.chromium.org/306483010 git-svn-id: http://skia.googlecode.com/svn/trunk@14910 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add JSON logging support to bench_pictures by adding a PictureResultsWriter ↵Gravatar commit-bot@chromium.org2014-05-27
| | | | | | | | | | | | | | | class (in tools/PictureResultsWriter.h) to process logging information, using a very similar style as bench/ResultsWriter.h JSON format described in code, above PictureJSONResultsWriter class BUG=skia: R=bensong@google.com, jcgregorio@google.com Author: kelvinly@google.com Review URL: https://codereview.chromium.org/286903025 git-svn-id: http://skia.googlecode.com/svn/trunk@14906 2bbb7eff-a529-9590-31e7-b0007b416f81
* render_pictures: add --mismatchPath flagGravatar commit-bot@chromium.org2014-05-15
| | | | | | | | | | | | | When set, it will only write out images that don't match expectations. BUG=skia:1942 R=rmistry@google.com Author: epoger@google.com Review URL: https://codereview.chromium.org/283123002 git-svn-id: http://skia.googlecode.com/svn/trunk@14748 2bbb7eff-a529-9590-31e7-b0007b416f81
* Increase picture bench inner loop iteration to 10 for testing number stableness.Gravatar commit-bot@chromium.org2014-04-30
| | | | | | | | | | | | | BUG=skia:2473 NOTRY=true R=caryclark@google.com TBR=caryclark@google.com Author: bensong@google.com Review URL: https://codereview.chromium.org/254093002 git-svn-id: http://skia.googlecode.com/svn/trunk@14451 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update bench to be able to preprocess skpsGravatar commit-bot@chromium.org2014-04-11
| | | | | | | | | | | | This allows benchmarking of optimization improvements and plumbs in the purging API. The purging is necessary so we don't magically get faster because the saveLayers are always pre-generated. R=jvanverth@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/233663002 git-svn-id: http://skia.googlecode.com/svn/trunk@14154 2bbb7eff-a529-9590-31e7-b0007b416f81
* add --writeChecksumBasedFilenames flag to render_picturesGravatar commit-bot@chromium.org2014-03-19
| | | | | | | | | | | BUG=skia:1455,skia:2230 R=robertphillips@google.com, robertphillips@chromium.org Author: epoger@google.com Review URL: https://codereview.chromium.org/202983003 git-svn-id: http://skia.googlecode.com/svn/trunk@13859 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13755 2bbb7eff-a529-9590-31e7-b0007b416f81
* Alter bench_pictures to "respect" the logPerIter flag.Gravatar commit-bot@chromium.org2014-03-11
| | | | | | | | | | | | | | When --logPerIters is set and --repeat is great then 2 then bench_pictures will run each test "repeat" times (to generate the correct number of timings) by rendering 5 times. This CL also adds a swapBuffers in addition to the pre-existing flush calls. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/194973003 git-svn-id: http://skia.googlecode.com/svn/trunk@13752 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update bench pictures to time image decode & upload costsGravatar robertphillips@google.com2013-12-18
| | | | | | | | https://codereview.chromium.org/117583002/ git-svn-id: http://skia.googlecode.com/svn/trunk@12742 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-12-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@12734 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make bench_pictures' timing more GPU friendlyGravatar robertphillips@google.com2013-12-17
| | | | | | | | https://codereview.chromium.org/113873005/ git-svn-id: http://skia.googlecode.com/svn/trunk@12705 2bbb7eff-a529-9590-31e7-b0007b416f81
* Committed: http://code.google.com/p/skia/source/detail?r=10372Gravatar commit-bot@chromium.org2013-07-31
| | | | | | | | | | R=borenet@google.com, bungeman@google.com, robertphillips@google.com, scroggo@google.com, sglez@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/19862002 git-svn-id: http://skia.googlecode.com/svn/trunk@10473 2bbb7eff-a529-9590-31e7-b0007b416f81
* This reverts commit 4052fd051db67bd1099fde2c4fe400cfbe1f2426.Gravatar bsalomon@google.com2013-07-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10374 2bbb7eff-a529-9590-31e7-b0007b416f81
* R=borenet@google.com, bungeman@google.com, robertphillips@google.comGravatar commit-bot@chromium.org2013-07-25
| | | | | | | | Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/19862002 git-svn-id: http://skia.googlecode.com/svn/trunk@10372 2bbb7eff-a529-9590-31e7-b0007b416f81
* Created my own flag parser, based off of gflags.Gravatar scroggo@google.com2013-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Share common code between bench_ and render_ to set up the PictureRenderer. Fix an include error in SkPictureRenderer.h. Simplified parameter passing in render_pictures_main. Switch to using an SkAutoTUnref for the PictureRenderer. I also changed the input format somewhat, so the buildbots need to be updated as well: https://codereview.appspot.com/7441044/ Fixed a bug in PictureBenchmark where calling setTimeIndividualTiles(false) sets the member variable to true. Removed setDeviceType from PictureBenchmark, since only the PictureRenderer needs to know which device type to use. Some changes to the input format: '--logPerIter' no longer takes a 1 or 0. Instead, '--logPerIter' turns it on and '--nologPerIter' turns it off (with off as the default). (Note that this is for bench_pictures; bench still uses the old format) Change '--device' to '--config' and 'bitmap' to '8888' to be the same as gm. Requires '--r' before inputs (to match gm), though there can be multiple inputs following it. Changed --enable-deferred-image-decoding (which no one uses but me yet anyway) to --deferImageDecoding, since the former is incompatible with the flag parser. Changes to behavior: Show a short error message on failure (rather than the explanation of all flags). BUG=https://code.google.com/p/skia/issues/detail?id=1094 Review URL: https://codereview.appspot.com/7230053 git-svn-id: http://skia.googlecode.com/svn/trunk@7961 2bbb7eff-a529-9590-31e7-b0007b416f81
* Turn off per-iteration tile time reportingGravatar borenet@google.com2013-02-11
| | | | | | | It's overloading the bench graph generator. Review URL: https://codereview.appspot.com/7300088 git-svn-id: http://skia.googlecode.com/svn/trunk@7691 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-02-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7659 2bbb7eff-a529-9590-31e7-b0007b416f81
* Only turn on one gpu timer in PictureBenchmark toolGravatar robertphillips@google.com2013-02-07
| | | | | | | | https://codereview.appspot.com/7310060/ git-svn-id: http://skia.googlecode.com/svn/trunk@7651 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enhance GL error checking for non-Ganesh GL callsGravatar robertphillips@google.com2013-02-07
| | | | | | | | https://codereview.appspot.com/7312057/ git-svn-id: http://skia.googlecode.com/svn/trunk@7647 2bbb7eff-a529-9590-31e7-b0007b416f81
* Temporary patch to BenchPictures gpu timing problemGravatar robertphillips@google.com2013-02-07
| | | | | | | | https://codereview.appspot.com/7311059/ git-svn-id: http://skia.googlecode.com/svn/trunk@7641 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change the method for timing individual tiles in bench_pictures.Gravatar scroggo@google.com2013-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When timing individual tiles in bench_pictures, keep a timer running across all repeats, and then take the average. The former method of timing each iteration separately runs into precision errors on some platforms. Running on my Mac Pro with OSX 10.8, the cmsecs for the new method and the old method are roughly the same when checking the CPU time. When checking the wall time, the old method often gives me 0ms, while the new method gives me a larger value. I don't think this can be entirely attributed to rounding though, since on occasion I see the old method showing a short time period (.05 - .15ms) while the new method shows .15ms higher (which is in range for the difference I'm seeing for other tiles where the old method reports 0ms). Some other changes: PictureRenderer::resetState now takes a boolean parameter. If called with false, it will only do a flush, while if called with true, it will also call finish. resetState is now called with true everywhere except in between iterations of drawing the same tile (when timing individual tiles). render_pictures_main no longer calls resetState directly, since it already calls end, which calls resetState. BUG=http://code.google.com/p/skia/issues/detail?id=1066 Review URL: https://codereview.appspot.com/7101060 git-svn-id: http://skia.googlecode.com/svn/trunk@7424 2bbb7eff-a529-9590-31e7-b0007b416f81
* Provide an option to bench drawing individual tiles in bench_pictures.Gravatar scroggo@google.com2012-12-13
| | | | | | | | | | | | | | | | | | | | | | Provides output like the following: running bench [1236 12045] androidpolice.skp tile_256x256: tile [0,0] out of [5,48]: msecs = 1.00 tile_256x256: tile [1,0] out of [5,48]: msecs = 1.50 tile_256x256: tile [2,0] out of [5,48]: msecs = 1.00 tile_256x256: tile [3,0] out of [5,48]: msecs = 1.50 tile_256x256: tile [4,0] out of [5,48]: msecs = 2.50 tile_256x256: tile [0,1] out of [5,48]: msecs = 2.00 tile_256x256: tile [1,1] out of [5,48]: msecs = 3.50 tile_256x256: tile [2,1] out of [5,48]: msecs = 3.50 tile_256x256: tile [3,1] out of [5,48]: msecs = 6.00 tile_256x256: tile [4,1] out of [5,48]: msecs = 2.50 tile_256x256: tile [0,2] out of [5,48]: msecs = 2.00 BUG=https://code.google.com/p/skia/issues/detail?id=1016 Review URL: https://codereview.appspot.com/6937047 git-svn-id: http://skia.googlecode.com/svn/trunk@6805 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make bench_pictures output a meaningful config name.Gravatar scroggo@google.com2012-11-02
| | | | | | Review URL: https://codereview.appspot.com/6813074 git-svn-id: http://skia.googlecode.com/svn/trunk@6288 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix a warning in PictureBenchmark.Gravatar scroggo@google.com2012-09-25
| | | | | | | | | Forgot to change from false to NULL. False does the right thing, but gives a warning. Fix the warning. Review URL: https://codereview.appspot.com/6570049 git-svn-id: http://skia.googlecode.com/svn/trunk@5666 2bbb7eff-a529-9590-31e7-b0007b416f81
* In render_pictures tiled rendering, draw a separate PNG for each tile.Gravatar scroggo@google.com2012-09-20
| | | | | | | | | | Since the passed in picture may represent an image which is too large to be represented on the GPU, never create such a large canvas. Instead, after drawing to each tile, create a file showing just that tile. Review URL: https://codereview.appspot.com/6532056 git-svn-id: http://skia.googlecode.com/svn/trunk@5603 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add -logPerIter, -timers, and -min to bench_pictures.Gravatar scroggo@google.com2012-09-11
| | | | | | | | | | | | | | | Additional changes: Add instance count to bench_pictures. Remove various PictureBenchmark subclasses which did not do anything besides have a different PictureRenderer. BUG=https://code.google.com/p/skia/issues/detail?id=856 Review URL: https://codereview.appspot.com/6496109 git-svn-id: http://skia.googlecode.com/svn/trunk@5496 2bbb7eff-a529-9590-31e7-b0007b416f81
* Report data from bench_pictures in the same fashion as bench.Gravatar scroggo@google.com2012-09-07
| | | | | | | | | | | | | | | | | | | | Move SkBenchLogger into separate files and make bench_pictures use it. Remove sk_tools::print_msg, since SkBenchLogger is now used instead. Combine picture_benchmark with bench_pictures, since that is the only project that uses it. Refactor the aggregator for bench timer data into its own class and make bench_pictures use it. Consolidate the various virtual PictureBenchmark::run functions into one for reuse. BUG=https://code.google.com/p/skia/issues/detail?id=822 Review URL: https://codereview.appspot.com/6488086 git-svn-id: http://skia.googlecode.com/svn/trunk@5432 2bbb7eff-a529-9590-31e7-b0007b416f81
* Perform multi core rendering in bench_pictures.Gravatar scroggo@google.com2012-08-31
| | | | | | | | | | | | | Add a flag in SkGPipeWriter for threadsafe drawing. Add a deferred pipe controller to SamplePipeControllers, which can be called to play back in multiple threads. Depends on http://codereview.appspot.com/6459105/ Review URL: https://codereview.appspot.com/6482068 git-svn-id: http://skia.googlecode.com/svn/trunk@5371 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change picture record benchmark to include begin/end record in timings and ↵Gravatar rileya@google.com2012-08-28
| | | | | | | | make the source picture draw itself into record canvas, so it records the draws instead of directly copying the picture. Review URL: https://codereview.appspot.com/6501045 git-svn-id: http://skia.googlecode.com/svn/trunk@5323 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added second "truncated" cpu/wall timer to benchGravatar robertphillips@google.com2012-08-28
| | | | | | | | | | http://codereview.appspot.com/6476064/ This CL will increase the bench baselines across the board git-svn-id: http://skia.googlecode.com/svn/trunk@5305 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implemented power of two tiling.Gravatar keyar@chromium.org2012-08-23
| | | | | | Review URL: https://codereview.appspot.com/6485056 git-svn-id: http://skia.googlecode.com/svn/trunk@5274 2bbb7eff-a529-9590-31e7-b0007b416f81
* Benchmark results will now print to STDOUT if on not-Android.Gravatar keyar@chromium.org2012-08-21
| | | | | | Review URL: https://codereview.appspot.com/6446164 git-svn-id: http://skia.googlecode.com/svn/trunk@5215 2bbb7eff-a529-9590-31e7-b0007b416f81
* Deleted timer for record and unflatten benchmarks.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5185 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changed new and delete to SkNEW* and SkDELETE as appropriate.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5179 2bbb7eff-a529-9590-31e7-b0007b416f81
* resetState is called between every benchmark run.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5178 2bbb7eff-a529-9590-31e7-b0007b416f81
* State reset and gpu timers added.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5177 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changed to Yoda style comparisons where appropriate.Gravatar keyar@chromium.org2012-08-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5176 2bbb7eff-a529-9590-31e7-b0007b416f81
* Have GPU based approach workingish.Gravatar keyar@chromium.org2012-08-20
| | | | | | Benchmarks do not work and it is always on. git-svn-id: http://skia.googlecode.com/svn/trunk@5175 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactored the bitmap creation into PictureRenderer.Gravatar keyar@chromium.org2012-08-07
| | | | | | | | | | Further, the picture is also stored in the PictureRenderer. The main gain of all of this is that we will not have to change how the device in more than one place when we end up adding different devices. Review URL: https://codereview.appspot.com/6458074 git-svn-id: http://skia.googlecode.com/svn/trunk@4990 2bbb7eff-a529-9590-31e7-b0007b416f81
* Merged bench_pictures and render_pictures rendering methods.Gravatar keyar@chromium.org2012-08-01
bench_pictures now uses a class based method for choosing the benchmark type as well. Review URL: https://codereview.appspot.com/6452070 git-svn-id: http://skia.googlecode.com/svn/trunk@4894 2bbb7eff-a529-9590-31e7-b0007b416f81