Index: src/core/SkBigPicture.cpp |
diff --git a/src/core/SkBigPicture.cpp b/src/core/SkBigPicture.cpp |
index 61f3a0ef1c34a686964492b8beb70199f4ef7e04..4d5e620ac9c4bd77d5e3c7c176f83eab9493b0db 100644 |
--- a/src/core/SkBigPicture.cpp |
+++ b/src/core/SkBigPicture.cpp |
@@ -11,6 +11,7 @@ |
#include "SkRecord.h" |
#include "SkRecordDraw.h" |
#include "SkTraceEvent.h" |
+#include <iostream> |
SkBigPicture::SkBigPicture(const SkRect& cull, |
SkRecord* record, |
@@ -28,12 +29,13 @@ SkBigPicture::SkBigPicture(const SkRect& cull, |
void SkBigPicture::playback(SkCanvas* canvas, AbortCallback* callback) const { |
SkASSERT(canvas); |
- |
+ TRACE_EVENT0("pras_skia", "SkBigPicture::playback"); |
// If the query contains the whole picture, don't bother with the BBH. |
SkRect clipBounds = { 0, 0, 0, 0 }; |
(void)canvas->getClipBounds(&clipBounds); |
const bool useBBH = !clipBounds.contains(this->cullRect()); |
+#if 0 |
SkRecordDraw(*fRecord, |
canvas, |
this->drawablePicts(), |
@@ -41,6 +43,18 @@ void SkBigPicture::playback(SkCanvas* canvas, AbortCallback* callback) const { |
this->drawableCount(), |
useBBH ? fBBH.get() : nullptr, |
callback); |
+#else |
+ DrawData draw_data(*fRecord, canvas, this->drawablePicts(), nullptr, |
+ this->drawableCount(), useBBH ? fBBH.get() : nullptr, |
+ callback); |
+ SkRecordDrawPrasInit(draw_data); |
+ int count = 0; |
+ while (!SkRecordDrawPrasDo(draw_data)) { |
+ count++; |
+ } |
+ // std::cout << "\nPRAS:: count = " << count; |
+ SkRecordDrawPrasDeInit(draw_data); |
+#endif |
} |
void SkBigPicture::partialPlayback(SkCanvas* canvas, |