mtklein@google.com
dbd41c8857
It looks like we're not always running long enough to give the GPU counters time to converge (and possibly the same for CPU too, but GPU is definitely worse off).
...
This CL changes our convergence logic from
- did the last run take more than x milliseconds?
to
- did the last run take more x milliseconds and are the last two runs within y% of each other?
There's also now an upper limit where we bail out with an error if we haven't yet met the convergence criteria. Keeping the lower bound is important for benches where the constant overhead is much larger than the work done in the loop; without it we'll see T(1 loop) == T(2 loops) and converge way too early.
This CL also exposed that DeferredCanvasBench had a bug: it was running N^2 loops when we told it to run N. (My fault.)
I threw in a couple other linty changes that I'd be happy to split off.
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/23536046
git-svn-id: http://skia.googlecode.com/svn/trunk@11267 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 20:11:09 +00:00
mtklein@google.com
410e6e80f0
Refactoring: get rid of the SkBenchmark void* parameter.
...
While I was doing massive sed-ing, I also converted every bench to use DEF_BENCH instead of registering the ugly manual way.
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/23876006
git-svn-id: http://skia.googlecode.com/svn/trunk@11263 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 19:52:27 +00:00
mtklein@google.com
c289743864
Major bench refactoring.
...
- Use FLAGS_.
- Remove outer repeat loop.
- Tune inner loop automatically.
BUG=skia:1590
R=epoger@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/23478013
git-svn-id: http://skia.googlecode.com/svn/trunk@11187 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-10 19:23:38 +00:00
robertphillips@google.com
1f2f338e23
Split SkDevice into SkBaseDevice and SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
robertphillips@google.com
9b051a375b
Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018
Split SkDevice out of SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
commit-bot@chromium.org
cb62224996
Removing deprecated constructors and setDevice from SkDeferredCanvas
...
R=senorblanco@google.com , senorblanco@chromium.org
BUR=crbug.com/270143
Author: junov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22385011
git-svn-id: http://skia.googlecode.com/svn/trunk@10657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 14:24:59 +00:00
junov@chromium.org
66070a527c
Changing SkDeferredCanvas to use factories for creation
...
The objective of this change is to remove all calls to
SkCanvas::setDevice. The factory API is hidden behind
a build flag in order to ease the roll into chromium.
A side-effect of the factory pattern is that it will
no longer be possible to allocate a SkDeferredCanvas on
the stack. This changes nothing for chrome, but it
impacts skia test programs.
Review URL: https://codereview.chromium.org/16040002
git-svn-id: http://skia.googlecode.com/svn/trunk@9298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 17:39:08 +00:00
robertphillips@google.com
5990397d08
Address google3 compiler warning
...
https://codereview.appspot.com/7308063/
git-svn-id: http://skia.googlecode.com/svn/trunk@7655 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 21:02:23 +00:00
robertphillips@google.com
bf3ef28f3b
Fixed memory leak in deferred_canvas_record bench
...
http://codereview.appspot.com/6499123/
git-svn-id: http://skia.googlecode.com/svn/trunk@5564 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-17 11:52:48 +00:00
rmistry@google.com
fbfcd56021
Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/ )
...
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054
git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
junov@chromium.org
5280548558
Stop refcounting SkDeferredCanvas::NotificationClient
...
User code (i.e. WebKit) is now responsible for the lifetime scope of the notification client.
With http://trac.webkit.org/changeset/125804 skia-side ref counting has become unnecessary and undesirable.
Review URL: https://codereview.appspot.com/6443146
git-svn-id: http://skia.googlecode.com/svn/trunk@5169 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 14:25:04 +00:00
junov@chromium.org
9ed02b9da2
Augmenting SkDeferredCanvas notification interface to signal flushes and memory allocations
...
Renamed SkDeferredCanvas::DeviceContext to SkDeferredCanvas::NotificationClient
BUG=http://code.google.com/p/chromium/issues/detail?id=136828
TEST=Added coverage for new API to DeferredCanvas unit test. Added DeferredCanvas bench test to track deferred canvas overhead cost.
Review URL: https://codereview.appspot.com/6442108
git-svn-id: http://skia.googlecode.com/svn/trunk@5078 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 13:36:26 +00:00