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:
parent
3959a76ab0
commit
6f6dfb4e8c
@ -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) {
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user