diff options
author | 2012-11-21 15:47:04 +0000 | |
---|---|---|
committer | 2012-11-21 15:47:04 +0000 | |
commit | 7775fd5779e632d6f5724e0e5d39ed347cf965b0 (patch) | |
tree | 42c72bb45da8d29e3818dddc94cc66088379a4d9 /include | |
parent | f68154a3cf43eb22d45be11f3b09e25440c366a6 (diff) |
Deferred canvas can now be flushed if an image is beyond a certain size to avoid a costly image copy.
BUG=http://code.google.com/p/chromium/issues/detail?id=137924
TEST=TestDeferredCanvasBitmapSizeThreshold unit test
Review URL: https://codereview.appspot.com/6852071
git-svn-id: http://skia.googlecode.com/svn/trunk@6527 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include')
-rw-r--r-- | include/config/SkUserConfig.h | 8 | ||||
-rw-r--r-- | include/utils/SkDeferredCanvas.h | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/include/config/SkUserConfig.h b/include/config/SkUserConfig.h index 79fdc7a2a4..ae5865ab37 100644 --- a/include/config/SkUserConfig.h +++ b/include/config/SkUserConfig.h @@ -199,4 +199,12 @@ backend. Defaults to 1 (build the GPU code). */ //#define SK_SUPPORT_GPU 1 + +/* Defines the maximum size allowed for a given image to be rendered using the + deferred canvas. If the image is larger than this threshold, the image + is considered too large and the copy done by the deferred canvas too + expensive, so an image of that size would instead be drawn immediately. +*/ +//#define SK_DEFERRED_CANVAS_BITMAP_SIZE_THRESHOLD 1048576 + #endif diff --git a/include/utils/SkDeferredCanvas.h b/include/utils/SkDeferredCanvas.h index 97848f1129..4686d000b9 100644 --- a/include/utils/SkDeferredCanvas.h +++ b/include/utils/SkDeferredCanvas.h @@ -116,6 +116,12 @@ public: size_t freeMemoryIfPossible(size_t bytesToFree); /** + * Specifies the maximum size (in bytes) allowed for a given image to be + * rendered using the deferred canvas. + */ + void setBitmapSizeThreshold(size_t sizeThreshold); + + /** * Executes all pending commands without drawing */ void silentFlush(); |