scroggo@google.com
c0d5e549ab
Allow bench_pictures to have its viewport set on the command line.
...
Instead of drawing the entire (potentially very large) picture, only
draw one viewport's worth.
example:
bench_pictures <skp directory> --viewport 640 480
BUG=https://code.google.com/p/skia/issues/detail?id=1007
Review URL: https://codereview.appspot.com/6943052
git-svn-id: http://skia.googlecode.com/svn/trunk@6799 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 21:40:48 +00:00
reed@google.com
5a34fd3f98
add '--mode clone' option to bench_pictures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6735 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-10 16:05:09 +00:00
reed@google.com
fe7b1ed30a
add SkPictureUtils::GatherPixelRefs()
...
Review URL: https://codereview.appspot.com/6845106
git-svn-id: http://skia.googlecode.com/svn/trunk@6615 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 21:00:39 +00:00
scroggo@google.com
4a26d9d62a
Add a new PictureRenderer that draws the picture then breaks up into tiles.
...
Review URL: https://codereview.appspot.com/6820103
git-svn-id: http://skia.googlecode.com/svn/trunk@6333 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 18:01:46 +00:00
caryclark@google.com
e3e940cf81
Add low blur and AAClip options to picture bench.
...
Copy the settings instead of pointing to the
original set on the stack.
Review URL: https://codereview.appspot.com/6818103
git-svn-id: http://skia.googlecode.com/svn/trunk@6330 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 16:42:17 +00:00
caryclark@google.com
a362237644
add draw filter option to picture_bench
...
Option allows adding a draw filter option per type
or for all types. All SkPaint flags may be filtered,
plus disabling blur and setting the hint level.
Review URL: https://codereview.appspot.com/6816092
git-svn-id: http://skia.googlecode.com/svn/trunk@6318 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 21:26:13 +00:00
junov@chromium.org
7b53706a7d
Adding SkTileGrid: a new subclass of BBoxHierarchy, optimized for tiled playback.
...
Review URL: https://codereview.appspot.com/6820093
git-svn-id: http://skia.googlecode.com/svn/trunk@6314 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 18:58:43 +00:00
skia.committer@gmail.com
1aa90cf11e
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6306 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-06 13:18:25 +00:00
scroggo@google.com
a62da2fee7
In bench_pictures --multi, maintain thread local caches.
...
Builds on https://codereview.appspot.com/6718046/ by mtklein.
Previously, each iteration of drawing a picture started new threads to draw the picture. Since each thread is using thread local storage for the font cache, this means that each iteration had to start with an empty font cache.
The newly added MultiCorePictureRenderer, separated from TiledPictureRenderer, now starts the drawing threads at the beginning of the test using an SkThreadPool, and keeps them alive through all iterations, so the font cache can be reused.
For now, I have removed the pipe version of the threaded renderer.
Updated bench_pictures_main and render_pictures_main to use the new
renderer, and to unref a renderer before early exit.
Review URL: https://codereview.appspot.com/6777063
git-svn-id: http://skia.googlecode.com/svn/trunk@6285 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 21:28:12 +00:00
junov@chromium.org
9313ca4bde
Adding rtree support to the bench_pictures utility
...
Review URL: https://codereview.appspot.com/6775080
git-svn-id: http://skia.googlecode.com/svn/trunk@6267 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-02 18:11:49 +00:00
scroggo@google.com
5a7c6be72b
Add the ability to provide function pointers to SkPicture serialization
...
and deserialization for encoding and decoding bitmaps.
Remove kForceFlattenBitmapPixels_Flag, which is no longer used.
When an SkOrderedReadBuffer needs to read a bitmap, if it does not
have an image decoder, use a dummy bitmap.
In GM, add a tolerance option for color differences, used when
testing picture serialization, so it can assume two images are the
same even though PNG encoding/decoding may have resulted in small
differences.
Create dummy implementations for SkImageDecoder and SkImageEncoder
functions in SkImageDecoder_empty so that a project that does not
want to include the images project it can still build.
Allow ports to build without images project.
In Mac's image encoder, copy 4444 to 8888 before encoding.
Add SkWriter32::reservePad, to provide a pointer to write non 4 byte
aligned data, padded with zeroes.
In bench_ and render_ pictures, pass decode function to SkPicture
creation from a stream.
BUG=https://code.google.com/p/skia/issues/detail?id=842
Review URL: https://codereview.appspot.com/6551071
git-svn-id: http://skia.googlecode.com/svn/trunk@5818 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 21:46:08 +00:00
caryclark@google.com
868e1f682e
fix return value for render_pictures
...
Review URL: https://codereview.appspot.com/6590049
git-svn-id: http://skia.googlecode.com/svn/trunk@5779 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 20:00:03 +00:00
caryclark@google.com
5987f58036
build iOS with 'make all'
...
This builds all skia tests by treating iOS tools
as executable applications. A few warnings were
fixed as well.
Removed old trace draw code and remnants.
Review URL: https://codereview.appspot.com/6597063
git-svn-id: http://skia.googlecode.com/svn/trunk@5776 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-02 18:33:14 +00:00
fmalita@google.com
c6157be6c0
Pinspect and bench_pictures are crashing when invoked with no arguments.
...
R=reed@google.com ,scroggo@google.com
BUG=
Review URL: https://codereview.appspot.com/6575052
git-svn-id: http://skia.googlecode.com/svn/trunk@5706 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-27 13:09:58 +00:00
borenet@google.com
2d2b9a0d8c
Remove automatic resizing in *_pictures
...
Review URL: https://codereview.appspot.com/6554045
git-svn-id: http://skia.googlecode.com/svn/trunk@5614 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 18:54:04 +00:00
scroggo@google.com
bcdf2ec50d
In bench_pictures, use a pool of tiles for multicore drawing.
...
Also includes some code cleanup and code sharing.
Allow setting the number of threads on the command line.
Rename ThreadSafePipeController::playback to ::draw, to be the same
as SkPicture so DrawTileToCanvas can take a template parameter.
Disallow multithreading with GPU turned on.
Display help information with improper tiled arguments.
BUG=https://code.google.com/p/skia/issues/detail?id=871
Review URL: https://codereview.appspot.com/6536050
git-svn-id: http://skia.googlecode.com/svn/trunk@5602 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 14:42:33 +00:00
borenet@google.com
57837bff3d
Skip empty directories and input files not ending in .skp in *_pictures
...
Addressing https://code.google.com/p/skia/issues/detail?id=886
Review URL: https://codereview.appspot.com/6531047
git-svn-id: http://skia.googlecode.com/svn/trunk@5597 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-19 17:28:29 +00:00
borenet@google.com
13fd5a15a1
Set DEFAULT_REPEATS to 1
...
bench defaults to 1 repeat, so bench_pictures should do the same.
This is causing the Android build cycles to be *hours* long.
Review URL: https://codereview.appspot.com/6490123
git-svn-id: http://skia.googlecode.com/svn/trunk@5575 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-17 21:10:05 +00:00
borenet@google.com
66bcbd12bf
Check for invalid SkPictures
...
- Remove hasRecorded() since nobody uses it.
- Add "success" boolean to SkPicture stream constructor
- Track failures in render_pictures and bench_pictures
Review URL: https://codereview.appspot.com/6493105
git-svn-id: http://skia.googlecode.com/svn/trunk@5573 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-17 18:26:06 +00:00
borenet@google.com
e21795e277
Enable automatic rescaling in bench_pictures
...
bench_pictures with "--device gpu" is failing because we're trying to allocate
too much GPU memory. Move the recently-added scaling code into picture_utils
and share it between render_pictures and bench_pictures.
Review URL: https://codereview.appspot.com/6495125
git-svn-id: http://skia.googlecode.com/svn/trunk@5543 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-14 14:34:28 +00:00
borenet@google.com
a49bffdb03
Do not exit on failure to open logFile
...
Temporary solution for write-protected Android devices. Intention is to revert
in favor of a more permanent solution.
Review URL: https://codereview.appspot.com/6497132
git-svn-id: http://skia.googlecode.com/svn/trunk@5535 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-13 18:54:48 +00:00
scroggo@google.com
5239c32d1e
Add -logPerIter, -timers, and -min to bench_pictures.
...
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
2012-09-11 19:15:32 +00:00
scroggo@google.com
0a36f43d5f
Init graphics in bench_pictures.
...
Should fix http://code.google.com/p/skia/issues/detail?id=858
Review URL: https://codereview.appspot.com/6490100
git-svn-id: http://skia.googlecode.com/svn/trunk@5475 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-10 20:29:13 +00:00
scroggo@google.com
9a4125283a
Report data from bench_pictures in the same fashion as bench.
...
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
2012-09-07 15:21:18 +00:00
scroggo@google.com
58b4ead36c
Perform multi core rendering in bench_pictures.
...
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
2012-08-31 16:15:22 +00:00
keyar@chromium.org
f4959ab118
Implemented power of two tiling.
...
Review URL: https://codereview.appspot.com/6485056
git-svn-id: http://skia.googlecode.com/svn/trunk@5274 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 20:53:25 +00:00
keyar@chromium.org
db9a5fb55f
Benchmark results will now print to STDOUT if on not-Android.
...
Review URL: https://codereview.appspot.com/6446164
git-svn-id: http://skia.googlecode.com/svn/trunk@5215 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-21 17:57:59 +00:00
keyar@chromium.org
a40c20df0e
Fixed up SK_SUPPORT_GPU flags.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5186 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:04:12 +00:00
keyar@chromium.org
c81686cd6e
Added the option to enable GPU rendering on render_ and bench_pictures.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5183 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:04:04 +00:00
keyar@chromium.org
78a35c5f1d
Changed to Yoda style comparisons where appropriate.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5176 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:44 +00:00
keyar@chromium.org
fe6391a624
Have GPU based approach workingish.
...
Benchmarks do not work and it is always on.
git-svn-id: http://skia.googlecode.com/svn/trunk@5175 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 15:03:41 +00:00
keyar@chromium.org
795cd47342
render_pictures and bench_pictures now use a --mode parameter.
...
This replaces the --tile, --pipe, etc. options from before as they are mutually exclusive.
Review URL: https://codereview.appspot.com/6443076
git-svn-id: http://skia.googlecode.com/svn/trunk@4930 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 18:57:53 +00:00
keyar@chromium.org
163b56734f
Merged bench_pictures and render_pictures rendering methods.
...
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
2012-08-01 17:53:29 +00:00
robertphillips@google.com
fc91dc7004
Windows compiler complaint cleanup
...
http://codereview.appspot.com/6441055/
git-svn-id: http://skia.googlecode.com/svn/trunk@4796 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 21:18:31 +00:00
keyar@chromium.org
21e3ed2e9a
bench_pictures now has an option for benchmarking record time.
...
Review URL: https://codereview.appspot.com/6350102
git-svn-id: http://skia.googlecode.com/svn/trunk@4632 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 19:20:14 +00:00
keyar@chromium.org
1cbd47c4b1
Preparations for adding options and different render types to render_pictures.
...
Review URL: https://codereview.appspot.com/6345107
git-svn-id: http://skia.googlecode.com/svn/trunk@4603 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 18:22:59 +00:00
keyar@chromium.org
3e8483e0de
Benchmark tiling now better reflects how it is done in Chrome.
...
Namely, the tile backing stores are all the same size.
Review URL: https://codereview.appspot.com/6352099
git-svn-id: http://skia.googlecode.com/svn/trunk@4602 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 18:15:04 +00:00
keyar@chromium.org
b5e30abbeb
Changed cmsecs to msecs to be consistent with bench.
...
We are using wall time and not cpu time and so the proper name for this
should probably be outputted.
Review URL: https://codereview.appspot.com/6345104
git-svn-id: http://skia.googlecode.com/svn/trunk@4587 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 21:16:49 +00:00
keyar@chromium.org
4916971526
Added a benchmark for measuring picture unflattening time.
...
Review URL: https://codereview.appspot.com/6354097
git-svn-id: http://skia.googlecode.com/svn/trunk@4582 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 19:19:55 +00:00
keyar@chromium.org
a4091ba864
Each benchmark that needs a bitmap will now make its own.
...
Before, the bitmaps were created and then passed to the benchmark. However, some benchmarks in the future will not require bitmaps. This will remove the necessity of passing around an extraneous bitmap to those tests.
Review URL: https://codereview.appspot.com/6356081
git-svn-id: http://skia.googlecode.com/svn/trunk@4519 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 19:53:59 +00:00
keyar@chromium.org
0665f25b31
bench_pictures can now take percentages for tiling width and height.Review URL: https://codereview.appspot.com/6354074
...
Review URL: https://codereview.appspot.com/6354074
git-svn-id: http://skia.googlecode.com/svn/trunk@4516 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 18:30:18 +00:00
robertphillips@google.com
59f46b81f8
Fixed Windows compiler complaints
...
http://codereview.appspot.com/6392044
git-svn-id: http://skia.googlecode.com/svn/trunk@4511 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 17:30:58 +00:00
keyar@chromium.org
2724ae0bb1
bench_pictures will now output the number of tiles for a tiled benchmark.
...
Review URL: https://codereview.appspot.com/6387044
git-svn-id: http://skia.googlecode.com/svn/trunk@4507 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 15:13:21 +00:00
keyar@chromium.org
70b4222344
Tiles that extend beyond the picture are now clipped.
...
Review URL: https://codereview.appspot.com/6352078
git-svn-id: http://skia.googlecode.com/svn/trunk@4491 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 19:51:05 +00:00
keyar@chromium.org
cf6c44cf92
Added a sgpipe benchmark.
...
Review URL: https://codereview.appspot.com/6349070
git-svn-id: http://skia.googlecode.com/svn/trunk@4490 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 19:37:40 +00:00
keyar@chromium.org
d1dc920097
Allow specific files and multiple inputs for picture testing tools.
...
Changed the render_pictures, bench_pictures and test_pictures.py so that multiple inputs can be given. Furthermore, specific files can also be specified.
Unit tests have also been added for picture_utils.cpp.
Review URL: https://codereview.appspot.com/6345054
git-svn-id: http://skia.googlecode.com/svn/trunk@4486 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 18:32:08 +00:00
reed@google.com
006db0f1b8
land https://codereview.appspot.com/6349043/
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4375 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 19:33:29 +00:00