Fix minor undercounting in SkRecord::bytesUsed().
authormtklein <mtklein@chromium.org>
Mon, 13 Apr 2015 19:17:02 +0000 (12:17 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 13 Apr 2015 19:17:02 +0000 (12:17 -0700)
commit1dda2194e0c3a486032b2dd4d3eaea67fa47d818
treebec5dccb9f6dade7f9c58fda0e92a7bd89574a46
parent9645ce17cdc451435877e60693aa0ef22110eee2
Fix minor undercounting in SkRecord::bytesUsed().

When an SkRecord has more than kInlineRecords ops in it (today, 5 or more), the
current logic undercounts the bytes used by the SkRecord by sizeof(Record) *
kInlineRecords, i.e. 32 bytes.  This isn't a huge deal... by the time you've
recorded 5 ops, we're typically up around 1KB anyway, and it's only ever off by
that constant 32 bytes, so somewhere between 3% to 0% error as the picture grows.

But now that I've noticed, we might as well fix it.  Basically, this is a
reminder that the inline space used to store those first kInlineRecords ops
goes to waste once we pass that threshold.  In contrast, fInlineAlloc, the
space we preallocate for the SkVarAlloc, never goes to waste.  It always holds
the first few ops' data even when we grow past it.

BUG=skia:

Review URL: https://codereview.chromium.org/1081433002
src/core/SkRecord.cpp