Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1660)

Unified Diff: bench/XfermodeBench.cpp

Issue 25968004: commit to xfermode objects being immutable (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: use SK_DECLARE_STATIC_MUTEX Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | include/core/SkXfermode.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: bench/XfermodeBench.cpp
diff --git a/bench/XfermodeBench.cpp b/bench/XfermodeBench.cpp
index e9b3b95021ed5f1ed8ea9f4d4719d31938042651..29e8598758e8adef2d6dafc0a060db8b63dc5ecf 100644
--- a/bench/XfermodeBench.cpp
+++ b/bench/XfermodeBench.cpp
@@ -62,6 +62,28 @@ private:
typedef SkBenchmark INHERITED;
};
+class XferCreateBench : public SkBenchmark {
+public:
+ XferCreateBench() {
+ fIsRendering = false;
+ }
+
+protected:
+ virtual const char* onGetName() SK_OVERRIDE { return "xfermode_create"; }
+
+ virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+ for (int outer = 0; outer < this->getLoops() * 10; ++outer) {
djsollen 2013/10/04 16:19:27 do we really need the 10x multiplier here
mtklein 2013/10/04 16:24:57 Not really, but it doesn't hurt. The only effect
+ for (int i = 0; i <= SkXfermode::kLastMode; ++i) {
+ SkXfermode* xfer = SkXfermode::Create(SkXfermode::Mode(i));
+ SkSafeUnref(xfer);
+ }
+ }
+ }
+
+private:
+ typedef SkBenchmark INHERITED;
+};
+
//////////////////////////////////////////////////////////////////////////////
#define CONCAT_I(x, y) x ## y
@@ -106,3 +128,5 @@ BENCH(SkXfermode::kLuminosity_Mode)
BENCH(SkLumaMaskXfermode::Create(SkXfermode::kSrcIn_Mode), "SrcInLuma")
BENCH(SkLumaMaskXfermode::Create(SkXfermode::kDstIn_Mode), "DstInLuma")
BENCH(SkLumaMaskXfermode::Create(SkXfermode::kSrcOver_Mode), "SrcOverLuma")
+
+DEF_BENCH(return new XferCreateBench;)
« no previous file with comments | « no previous file | include/core/SkXfermode.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698