Added profiling stubs to SkPicturePlayback

https://codereview.appspot.com/6851044/



git-svn-id: http://skia.googlecode.com/svn/trunk@6397 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
robertphillips@google.com 2012-11-13 18:28:06 +00:00
parent 3959a76ab0
commit 6f6dfb4e8c
2 changed files with 26 additions and 1 deletions

View File

@ -574,6 +574,14 @@ struct SkipClipRec {
};
#endif
#ifdef SK_PICTURE_PROFILING_STUBS
void SkPicturePlayback::preDraw(size_t offset, int type) {
}
void SkPicturePlayback::postDraw(size_t offset) {
}
#endif
void SkPicturePlayback::draw(SkCanvas& canvas) {
#ifdef ENABLE_TIME_DRAW
SkAutoTime at("SkPicture::draw", 50);
@ -622,7 +630,14 @@ void SkPicturePlayback::draw(SkCanvas& canvas) {
SkMatrix initialMatrix = canvas.getTotalMatrix();
while (!reader.eof()) {
switch (reader.readInt()) {
#ifdef SK_PICTURE_PROFILING_STUBS
size_t curOffset = reader.offset();
#endif
int type = reader.readInt();
#ifdef SK_PICTURE_PROFILING_STUBS
this->preDraw(curOffset, type);
#endif
switch (type) {
case CLIP_PATH: {
const SkPath& path = getPath(reader);
uint32_t packed = reader.readInt();
@ -865,6 +880,10 @@ void SkPicturePlayback::draw(SkCanvas& canvas) {
SkASSERT(0);
}
#ifdef SK_PICTURE_PROFILING_STUBS
this->postDraw(curOffset);
#endif
if (it.isValid()) {
uint32_t off = it.draw();
if (off == SK_MaxU32) {

View File

@ -77,6 +77,12 @@ public:
// drawing and return from draw() after the "current" op code is done
void abort();
protected:
#ifdef SK_PICTURE_PROFILING_STUBS
virtual void preDraw(size_t offset, int type);
virtual void postDraw(size_t offset);
#endif
private:
class TextContainer {
public: