aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/DeferredCanvasBench.cpp
Commit message (Collapse)AuthorAge
* It looks like we're not always running long enough to give the GPU counters ↵Gravatar mtklein@google.com2013-09-13
| | | | | | | | | | | | | | | | | | | | | | 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
* Refactoring: get rid of the SkBenchmark void* parameter.Gravatar mtklein@google.com2013-09-13
| | | | | | | | | | | 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
* Major bench refactoring.Gravatar mtklein@google.com2013-09-10
| | | | | | | | | | | | | - 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
* Split SkDevice into SkBaseDevice and SkBitmapDeviceGravatar robertphillips@google.com2013-08-29
| | | | | | | | https://codereview.chromium.org/22978012/ git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get ↵Gravatar robertphillips@google.com2013-08-20
| | | | | | Chromium ready. git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split SkDevice out of SkBitmapDeviceGravatar robertphillips@google.com2013-08-20
| | | | | | | | https://codereview.chromium.org/22978012/ git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
* Removing deprecated constructors and setDevice from SkDeferredCanvasGravatar commit-bot@chromium.org2013-08-09
| | | | | | | | | | | 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
* Changing SkDeferredCanvas to use factories for creationGravatar junov@chromium.org2013-05-28
| | | | | | | | | | | | | | | 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
* Address google3 compiler warningGravatar robertphillips@google.com2013-02-07
| | | | | | | | https://codereview.appspot.com/7308063/ git-svn-id: http://skia.googlecode.com/svn/trunk@7655 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixed memory leak in deferred_canvas_record benchGravatar robertphillips@google.com2012-09-17
| | | | | | | | http://codereview.appspot.com/6499123/ git-svn-id: http://skia.googlecode.com/svn/trunk@5564 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | 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
* Stop refcounting SkDeferredCanvas::NotificationClientGravatar junov@chromium.org2012-08-20
| | | | | | | | 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
* Augmenting SkDeferredCanvas notification interface to signal flushes and ↵Gravatar junov@chromium.org2012-08-14
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