Commit Graph

202 Commits

Author SHA1 Message Date
bsalomon@google.com
65a87cc13d Add inst counting to bench and count SkPaths
Review URL: http://codereview.appspot.com/6450129/



git-svn-id: http://skia.googlecode.com/svn/trunk@5076 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 13:15:44 +00:00
bsalomon@google.com
7fbc6048b1 Stop bench from leaking
Review URL: http://codereview.appspot.com/6465045/



git-svn-id: http://skia.googlecode.com/svn/trunk@5072 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 22:10:05 +00:00
bsalomon@google.com
62e41903a7 Reduce path_copy iteration count, hopefully allows nexus s bot to complete without OOM.
git-svn-id: http://skia.googlecode.com/svn/trunk@5064 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 16:59:21 +00:00
bsalomon@google.com
30e6d2c205 Adds a bunch of benchmarks around creating, transforming, testing path equality,
and concatting paths. Also allows benchs to do setup / tear down steps outside
of the cons/destructor via new SkBenchmark virtuals.

Review URL: http://codereview.appspot.com/6454137/



git-svn-id: http://skia.googlecode.com/svn/trunk@5054 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:03:31 +00:00
junov@chromium.org
44b67b2ed1 Fixing NoGPU build of bench
Problem was: As of r4989, SkDeferredCanvas.h no longer includes SkDevice.h

Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@4993 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 18:00:31 +00:00
borenet@google.com
a2b32b8081 Add -logFile option to Bench
Logs to a file as well as stdout.  Useful for Android,
where logging takes a different format.
Review URL: https://codereview.appspot.com/6450095

git-svn-id: http://skia.googlecode.com/svn/trunk@4963 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 12:58:50 +00:00
bsalomon@google.com
cf8fb1f6f0 Create GPU-less build of Skia.
git-svn-id: http://skia.googlecode.com/svn/trunk@4912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:03:32 +00:00
scroggo@google.com
dd39488997 Avoid a loop in writeString and writePad by zeroing padding first.
Also add a benchmark to time the new improved writeString. Before
my change the bench took ~1.23ms and afterwards it takes ~.95ms.

Add some testing to ensure that writePad works properly.

TEST=Writer32Test, WriterBench

Review URL: https://codereview.appspot.com/6438045

git-svn-id: http://skia.googlecode.com/svn/trunk@4742 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 20:47:55 +00:00
bungeman@google.com
aa8483b49d SkSfntUtils should use public types.
git-svn-id: http://skia.googlecode.com/svn/trunk@4734 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 17:34:41 +00:00
reed@google.com
7866228f06 land http://codereview.appspot.com/6353063/ by Lei
optimizations for D16 using SSE2

skia_bench -config 565 -match bitmap_8888_scale_filter -forceFilter 1 -repeat
30

The result I got on Android platform was below:

w/o this optimization routine: 
D/skia    ( 1868): running bench [640 480]     bitmap_8888_scale_filter
D/skia    ( 1868):    565: cmsecs = 286.50

w/ with optimization:
D/skia    ( 1463): running bench [640 480]     bitmap_8888_scale_filter
D/skia    ( 1463):    565: cmsecs = 186.80

The net gain is 34.80%.



git-svn-id: http://skia.googlecode.com/svn/trunk@4729 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 13:53:23 +00:00
keyar@chromium.org
fdd909ca00 Added picture recording benchmark options to bench.
-forceRecording benchmarks how long it takes C++ code to be recorded into a picture.

-forcePictureRecording benchmarks how long it takes a picture to be recorded into a picture.

Preliminary investigation shows that the second benchmarks can often be much faster than the first. Will rerun these benchmarks and upload the results somewhere when/if this code is committed.

Review URL: https://codereview.appspot.com/6404055

git-svn-id: http://skia.googlecode.com/svn/trunk@4708 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 23:03:42 +00:00
junov@chromium.org
6fc5699e77 Fixing type mask computation in SkMatrix to make it faster and make it so that matrices have the same type masks as their inverses.
This patch also add bench tests that call invert() followed by mapRect() on various types of matrices.  Performance of these tests was greatly affected by typemask computation

Review URL: http://codereview.appspot.com/6380043/
BUG=https://code.google.com/p/chromium/issues/detail?id=135259



git-svn-id: http://skia.googlecode.com/svn/trunk@4562 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 14:01:32 +00:00
bungeman@google.com
b6981559ec Fix variants in bench graphs.
git-svn-id: http://skia.googlecode.com/svn/trunk@4508 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 15:31:52 +00:00
reed@google.com
7fe6409ecb change unique_paint_dictionary to change the paint randomly, instead of just
incrementing a value, to avoid accidental best/worst case behavior on our
insertion sort.



git-svn-id: http://skia.googlecode.com/svn/trunk@4501 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 13:17:45 +00:00
senorblanco@chromium.org
3a67a668db Add an SK_PRINTF_LIKE macro, which declares a function to have printf-like
semantics, allowing gcc and clang to check the format string against the
arguments.  Enable its use on SkString (printf, appendf, and prependf).  Also
define an SK_SIZE_T_SPECIFIER macro so there's a cross-platform way of
printing a size_t.

Review URL:  http://codereview.appspot.com/6375043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4485 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 18:22:08 +00:00
reed@google.com
142e1fe7cf restore 4478 w/ fixed assert (no long need 8-byte alignment)
git-svn-id: http://skia.googlecode.com/svn/trunk@4480 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 17:44:44 +00:00
reed@google.com
fc8581b2d8 revert 4478
git-svn-id: http://skia.googlecode.com/svn/trunk@4479 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 17:40:48 +00:00
reed@google.com
f8affe5adf switch callers to SkChecksum::Compute (no 32/64 preference)
Review URL: https://codereview.appspot.com/6377043

git-svn-id: http://skia.googlecode.com/svn/trunk@4478 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 17:05:51 +00:00
reed@google.com
88db9ef0cd add SkChecksum as a static class, for the replacement API
after this lands, plan to deprecate/remove the older APIs
Review URL: https://codereview.appspot.com/6356059

git-svn-id: http://skia.googlecode.com/svn/trunk@4457 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-03 19:44:20 +00:00
reed@google.com
f1d4695cae add scaling factor for subclasses, to normalize running time a little better
git-svn-id: http://skia.googlecode.com/svn/trunk@4443 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-03 13:53:41 +00:00
bensong@google.com
ead2b39ab1 git-svn-id: http://skia.googlecode.com/svn/trunk@4436 2bbb7eff-a529-9590-31e7-b0007b416f81 2012-07-02 21:49:30 +00:00
bensong@google.com
af3d79a8c8 git-svn-id: http://skia.googlecode.com/svn/trunk@4433 2bbb7eff-a529-9590-31e7-b0007b416f81 2012-07-02 20:48:51 +00:00
junov@chromium.org
ef76060cbf Adding checksum to SkFlatData to accelerate SkPicture recording.
The checksum triggers an early exit in the mem compare use to search for duplicate flattened objects. Also, call to memcmp was replaced with 64-bit at a time comparison loop.

Review URL: http://codereview.appspot.com/6339046/
BUG=http://code.google.com/p/chromium/issues/detail?id=54079
TEST=Checksum and PictureRecord tests in bench.exe



git-svn-id: http://skia.googlecode.com/svn/trunk@4378 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 20:03:16 +00:00
epoger@google.com
1513f6e1a3 write my own os.path.abspath() to work around Win path-length limits
BUG=https://code.google.com/p/skia/issues/detail?id=674
Review URL: https://codereview.appspot.com/6342052

git-svn-id: http://skia.googlecode.com/svn/trunk@4357 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 13:38:37 +00:00
tomhudson@google.com
3186847112 Reduce iteration count on picture_playback benchmarks to bring their cost
more in line with the rest of the benches.

http://codereview.appspot.com/6325063/



git-svn-id: http://skia.googlecode.com/svn/trunk@4339 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-26 14:25:53 +00:00
epoger@google.com
5b2e01c0d2 Add -o option to bench_graph_svg.py: write the output to a file rather than stdout
While I was at it, put the command-line options in alphabetical order.
BUG=https://code.google.com/p/skia/issues/detail?id=674
Review URL: https://codereview.appspot.com/6329061

git-svn-id: http://skia.googlecode.com/svn/trunk@4333 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-25 20:29:04 +00:00
robertphillips@google.com
15e9d3e66e Expanded distribution of instance counting
http://codereview.appspot.com/6300114/



git-svn-id: http://skia.googlecode.com/svn/trunk@4291 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-21 20:25:03 +00:00
bsalomon@google.com
4da34e36cb Add GrMemoryPool as a helper to override operators new/delete
Review URL: http://codereview.appspot.com/6306090/



git-svn-id: http://skia.googlecode.com/svn/trunk@4282 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-19 15:40:27 +00:00
reed@google.com
357818cb76 fix bogus assert
git-svn-id: http://skia.googlecode.com/svn/trunk@4242 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 12:30:35 +00:00
robertphillips@google.com
bb0b67f659 Reverting r4239 & r4240
git-svn-id: http://skia.googlecode.com/svn/trunk@4241 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 21:58:09 +00:00
reed@google.com
d70f7307a4 pass -fArray[i] instead of fArray[i], to skip a compiler optimization where it
thought it could tread the memory as if it pointed to an int instead of a float.



git-svn-id: http://skia.googlecode.com/svn/trunk@4240 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 21:40:13 +00:00
reed@google.com
df9d6f1768 add bench for SkScalarIsFinite
git-svn-id: http://skia.googlecode.com/svn/trunk@4239 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 21:29:43 +00:00
robertphillips@google.com
4bdfb8c9d6 Compiler complaints + some minor cleanup
http://codereview.appspot.com/6295070/



git-svn-id: http://skia.googlecode.com/svn/trunk@4238 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 21:23:49 +00:00
tomhudson@google.com
a0116d541d Disable morphology benchmarks on fixed point builds.
http://codereview.appspot.com/6300082/



git-svn-id: http://skia.googlecode.com/svn/trunk@4231 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 20:48:18 +00:00
tomhudson@google.com
f2e91a3907 Dilate & Erode benchmarks. Unlike the blur benchmarks (which test
Convolution), they show no improvement from unrolling the GLSL loops
in src/gpu/effects/GrMorphologyEffect.cpp

http://codereview.appspot.com/6299067/



git-svn-id: http://skia.googlecode.com/svn/trunk@4230 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 19:22:01 +00:00
reed@google.com
258e0bf00c add bench for conical Gradient
git-svn-id: http://skia.googlecode.com/svn/trunk@4203 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-07 14:18:34 +00:00
caryclark@google.com
19069a2822 fix warnings on Mac in bench
Fix these class of warnings:
- unused functions
- unused locals
- sign mismatch
- missing function prototypes
- missing newline at end of file
- 64 to 32 bit truncation

The changes prefer to link in dead code in the debug build
with 'if (false)' than to comment it out, but trivial cases
are commented out or sometimes deleted if it appears to be
a copy/paste error.
Review URL: https://codereview.appspot.com/6302044

git-svn-id: http://skia.googlecode.com/svn/trunk@4188 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 12:11:45 +00:00
reed@google.com
0d10280190 We often rgn-diff an area >= the other rgn. now we detect that and return empty
We do this when we update our devices in SkCanvas.cpp
Review URL: https://codereview.appspot.com/6249073

git-svn-id: http://skia.googlecode.com/svn/trunk@4101 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 18:28:59 +00:00
djsollen@google.com
dde718c558 Add bench to test the performance of creating a picture.
Review URL: https://codereview.appspot.com/6258062

git-svn-id: http://skia.googlecode.com/svn/trunk@4076 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 16:50:11 +00:00
reed@google.com
f3a8d8e0ff apply 10.p+32 -> (float)(1 << 23) fix from MathTest here as well
windows can't eat the former syntax



git-svn-id: http://skia.googlecode.com/svn/trunk@4070 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 14:08:57 +00:00
reed@google.com
7f19241adb add bench for floor variants
git-svn-id: http://skia.googlecode.com/svn/trunk@4065 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 12:26:52 +00:00
reed@google.com
fd4be26c42 Change patheffect to take a (new) StrokeRec object, which encapsulates the fill
or stroke parameters for a path.

Today, the patheffect only sees if the caller was going to stroke or fill, and
if stroke, it just sees the width. With this change, the effect can see all of the
related parameters (e.g. cap/join/miter). No other change is intended at this
time.

After this change, I hope to use this additional data to allow SkDashPathEffect
to, at times, apply the stroke as part of its effect, which may be much more
efficient than first dashing, and then reading that and stroking it.

Most of these files changed just because of the new parameter to filterPath. The
key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp
Review URL: https://codereview.appspot.com/6250051

git-svn-id: http://skia.googlecode.com/svn/trunk@4048 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-25 01:04:12 +00:00
reed@google.com
d3521f1a8d revert 4046 -- GM:pathfill failed on one bot, maybe uninitialized memory somewhere?
git-svn-id: http://skia.googlecode.com/svn/trunk@4047 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-24 20:32:22 +00:00
reed@google.com
9797272edf Change patheffect to take a (new) StrokeRec object, which encapsulates the fill
or stroke parameters for a path.

Today, the patheffect only sees if the caller was going to stroke or fill, and if
stroke, it just sees the width. With this change, the effect can see all of the
related parameters (e.g. cap/join/miter). No other change is intended at this
time.

After this change, I hope to use this additional data to allow SkDashPathEffect
to, at times, apply the stroke as part of its effect, which may be much more
efficient than first dashing, and then reading that and stroking it.

Most of these files changed just because of the new parameter to filterPath. The
key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp
Review URL: https://codereview.appspot.com/6249050

git-svn-id: http://skia.googlecode.com/svn/trunk@4046 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-24 20:13:57 +00:00
reed@google.com
ea6f6832dd add makedash_ variants to measure applying the dash (not drawing it)
git-svn-id: http://skia.googlecode.com/svn/trunk@4000 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-18 18:32:54 +00:00
reed@google.com
ebd24962df change SkChunkAlloc to grow its allocations geometrically (not linearly)
plus add a bench and unittest for it.



git-svn-id: http://skia.googlecode.com/svn/trunk@3989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 14:28:11 +00:00
bungeman@google.com
a02bc1519c WeakRefCnt
http://codereview.appspot.com/5649046/


git-svn-id: http://skia.googlecode.com/svn/trunk@3978 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:21:56 +00:00
reed@google.com
a584aed5f7 perform quickReject in drawPoints (which is called by drawLine) just like we
already did in drawRect and drawPath



git-svn-id: http://skia.googlecode.com/svn/trunk@3968 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 14:06:02 +00:00
tomhudson@google.com
c3be34d4db Add (8) more benchmarks to capture performance of a pair of blit optimization
procs.

http://codereview.appspot.com/6209064/



git-svn-id: http://skia.googlecode.com/svn/trunk@3963 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 20:09:33 +00:00
reed@google.com
4ad2275350 add clipped case for dashing to exercise quickReject
git-svn-id: http://skia.googlecode.com/svn/trunk@3961 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 19:50:58 +00:00