diff options
author | dandov <dandov@google.com> | 2014-08-15 13:30:47 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-15 13:30:47 -0700 |
commit | 7e5598a004d0aceb630707053566bee523feea66 (patch) | |
tree | 0668a1ef8dd6ee0f541b23f8cef22e62759f3d36 /bench/PatchBench.cpp | |
parent | a723b576aed31a6eb2bdda6388e6bd779d04c6b0 (diff) |
Added bench for grid of patches.
It is on top of my previous cl to fix the mem leaks of the regular patch bench.
NOTREECHECKS=true
BUG=skia:
R=egdaniel@google.com, bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/470543004
Diffstat (limited to 'bench/PatchBench.cpp')
-rw-r--r-- | bench/PatchBench.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/bench/PatchBench.cpp b/bench/PatchBench.cpp index 8ce80c4bc5..744141a879 100644 --- a/bench/PatchBench.cpp +++ b/bench/PatchBench.cpp @@ -5,16 +5,19 @@ * found in the LICENSE file. */ #include "Benchmark.h" -#include "SkBitmap.h" #include "SkCanvas.h" -#include "SkColorPriv.h" #include "SkGradientShader.h" #include "SkPaint.h" #include "SkPatchUtils.h" -#include "SkRandom.h" -#include "SkShader.h" #include "SkString.h" -#include "SkTArray.h" + +/** + * This bench measures the rendering time of the call SkCanvas::drawPatch with different types of + * input patches (regular case, with loops, a square, with a big difference between "parallel" + * sides). This bench also tests the different combination of optional parameters for the function + * (passing texture coordinates and colors, only textures coordinates, only colors or none). + * Finally, it applies a scale to test if the size affects the rendering time. + */ class PatchBench : public Benchmark { @@ -92,7 +95,7 @@ protected: vertexMode.set("texs"); break; case kBoth_VertexMode: - vertexMode.set("colors&texs"); + vertexMode.set("colors_texs"); break; default: break; @@ -104,12 +107,7 @@ protected: return fName.c_str(); } - virtual void preDraw() { - - } - - virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { - + virtual void onPreDraw() SK_OVERRIDE { this->setCubics(); this->setColors(); this->setTexCoords(); @@ -123,7 +121,9 @@ protected: fPaint.setShader(NULL); break; } + } + virtual void onDraw(const int loops, SkCanvas* canvas) SK_OVERRIDE { canvas->scale(fScale.x(), fScale.y()); for (int i = 0; i < loops; i++) { switch (fVertexMode) { @@ -165,7 +165,7 @@ public: name->append("square"); } - virtual void setCubics() { + virtual void setCubics() SK_OVERRIDE { const SkPoint points[SkPatchUtils::kNumCtrlPts] = { //top points {100,100},{150,100},{250,100}, {300,100}, @@ -191,7 +191,7 @@ public: name->append("LOD_Diff"); } - virtual void setCubics() { + virtual void setCubics() SK_OVERRIDE { const SkPoint points[SkPatchUtils::kNumCtrlPts] = { //top points {100,175},{150,100},{250,100}, {300,0}, @@ -217,7 +217,7 @@ public: name->append("loop"); } - virtual void setCubics() { + virtual void setCubics() SK_OVERRIDE { const SkPoint points[SkPatchUtils::kNumCtrlPts] = { //top points {100,100},{300,200},{100,200}, {300,100}, |