Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Issue 131343011: Initial QuadTree implementation (Closed)

Created:
6 years, 11 months ago by sugoi1
Modified:
6 years, 10 months ago
CC:
skia-review_googlegroups.com
Base URL:
https://skia.googlesource.com/skia.git@master
Visibility:
Public.

Description

Initial QuadTree implementation In an effort to find a faster bounding box hierarchy than the R-Tree, a QuadTree has been implemented here. For now, the QuadTree construction is generally faster than the R-Tree and the queries are a bit slower, so overall, SKP local tests showed QuadTree performance similar to the R-Tree performance. Tests and bench are included in this cl. At this point, I'd like to be able to commit this in order to more easily use the bots to test multiple configurations and a larger number of SKPs. The R-Tree BBH is still used by default so this change shouldn't affect chromium. BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=13282

Patch Set 1 #

Patch Set 2 : Merged RTree and QuadTree tests and added QuadTree to SampleApp #

Total comments: 8

Patch Set 3 : Fixed comments #

Total comments: 8

Patch Set 4 : Moved Data struct to cpp file #

Patch Set 5 : Moved SkQuadTreePicture.h #

Patch Set 6 : Removed SkQuadTreePicture.h from public headers #

Total comments: 4

Patch Set 7 : Modified getDepth() description #

Patch Set 8 : Trying upload again #

Total comments: 2

Patch Set 9 : Dox updatewq #

Patch Set 10 : Dox update #

Patch Set 11 : Update to ToT #

Total comments: 2

Patch Set 12 : Fixing nits #

Patch Set 13 : Fixed SkScalar conversion issue #

Unified diffs Side-by-side diffs Delta from patch set Stats (+622 lines, -97 lines) Patch
A + bench/QuadTreeBench.cpp View 10 chunks +30 lines, -87 lines 0 comments Download
M gyp/bench.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M gyp/core.gypi View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M gyp/tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M samplecode/SamplePictFile.cpp View 1 4 chunks +22 lines, -2 lines 0 comments Download
M src/core/SkBBoxHierarchy.h View 1 2 3 4 5 6 7 8 1 chunk +11 lines, -1 line 0 comments Download
A src/core/SkQuadTree.h View 1 2 3 1 chunk +80 lines, -0 lines 0 comments Download
A src/core/SkQuadTree.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +224 lines, -0 lines 0 comments Download
src/core/SkQuadTreePicture.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +29 lines, -0 lines 0 comments Download
A src/core/SkQuadTreePicture.cpp View 1 1 chunk +15 lines, -0 lines 0 comments Download
M src/core/SkRTree.h View 1 2 3 4 5 6 1 chunk +12 lines, -6 lines 0 comments Download
M src/core/SkTileGrid.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
A tests/BBoxHierarchyTest.cpp View 1 1 chunk +180 lines, -0 lines 0 comments Download
M tools/PictureRenderer.h View 2 chunks +3 lines, -0 lines 0 comments Download
M tools/PictureRenderer.cpp View 1 2 chunks +5 lines, -0 lines 0 comments Download
M tools/PictureRenderingFlags.cpp View 2 chunks +3 lines, -1 line 0 comments Download

Messages

Total messages: 32 (0 generated)
sugoi
6 years, 11 months ago (2014-01-24 18:57:49 UTC) #1
reed1
sgtm -- do we not already have decent tests for RTree / GridTree? Could those ...
6 years, 11 months ago (2014-01-24 19:15:44 UTC) #2
fmalita_google_do_not_use
It would be nice to also hook this into SampleApp at some point ('B' shortcut ...
6 years, 11 months ago (2014-01-24 22:25:00 UTC) #3
sugoi
- Merged RTree and QuadTree tests - Added QuadTree to SampleApp
6 years, 11 months ago (2014-01-27 13:37:43 UTC) #4
Justin Novosad
https://codereview.chromium.org/131343011/diff/30002/src/core/SkQuadTree.cpp File src/core/SkQuadTree.cpp (right): https://codereview.chromium.org/131343011/diff/30002/src/core/SkQuadTree.cpp#newcode13 src/core/SkQuadTree.cpp:13: class SkQuadTree::QuadTree { I find SkQuadTree vs. QuadTree confusing. ...
6 years, 10 months ago (2014-01-28 21:26:13 UTC) #5
sugoi1
https://codereview.chromium.org/131343011/diff/30002/src/core/SkQuadTree.cpp File src/core/SkQuadTree.cpp (right): https://codereview.chromium.org/131343011/diff/30002/src/core/SkQuadTree.cpp#newcode13 src/core/SkQuadTree.cpp:13: class SkQuadTree::QuadTree { On 2014/01/28 21:26:13, junov wrote: > ...
6 years, 10 months ago (2014-01-29 15:29:08 UTC) #6
Stephen White
https://codereview.chromium.org/131343011/diff/90001/src/core/SkQuadTree.h File src/core/SkQuadTree.h (right): https://codereview.chromium.org/131343011/diff/90001/src/core/SkQuadTree.h#newcode70 src/core/SkQuadTree.h:70: struct Data { Nit: is it necessary to declare ...
6 years, 10 months ago (2014-01-29 16:14:58 UTC) #7
sugoi1
https://codereview.chromium.org/131343011/diff/90001/src/core/SkQuadTree.h File src/core/SkQuadTree.h (right): https://codereview.chromium.org/131343011/diff/90001/src/core/SkQuadTree.h#newcode70 src/core/SkQuadTree.h:70: struct Data { On 2014/01/29 16:14:59, Stephen White wrote: ...
6 years, 10 months ago (2014-01-29 16:18:51 UTC) #8
reed1
for now, can we move the new header to effects or utils or somewhere like ...
6 years, 10 months ago (2014-01-29 16:20:43 UTC) #9
sugoi1
On 2014/01/29 16:20:43, reed1 wrote: > for now, can we move the new header to ...
6 years, 10 months ago (2014-01-29 16:30:15 UTC) #10
reed1
On 2014/01/29 16:30:15, sugoi1 wrote: > On 2014/01/29 16:20:43, reed1 wrote: > > for now, ...
6 years, 10 months ago (2014-01-29 16:37:48 UTC) #11
sugoi1
On 2014/01/29 16:37:48, reed1 wrote: > On 2014/01/29 16:30:15, sugoi1 wrote: > > On 2014/01/29 ...
6 years, 10 months ago (2014-01-29 16:45:05 UTC) #12
reed1
https://codereview.chromium.org/131343011/diff/150001/src/core/SkBBoxHierarchy.h File src/core/SkBBoxHierarchy.h (right): https://codereview.chromium.org/131343011/diff/150001/src/core/SkBBoxHierarchy.h#newcode72 src/core/SkBBoxHierarchy.h:72: * Gets the depth of the tree structure Questions ...
6 years, 10 months ago (2014-01-29 16:58:27 UTC) #13
sugoi1
https://codereview.chromium.org/131343011/diff/150001/src/core/SkBBoxHierarchy.h File src/core/SkBBoxHierarchy.h (right): https://codereview.chromium.org/131343011/diff/150001/src/core/SkBBoxHierarchy.h#newcode72 src/core/SkBBoxHierarchy.h:72: * Gets the depth of the tree structure On ...
6 years, 10 months ago (2014-01-29 18:21:53 UTC) #14
reed1
https://codereview.chromium.org/131343011/diff/190001/src/core/SkTileGrid.h File src/core/SkTileGrid.h (right): https://codereview.chromium.org/131343011/diff/190001/src/core/SkTileGrid.h#newcode64 src/core/SkTileGrid.h:64: virtual int getCount() const SK_OVERRIDE; Can we return -1 ...
6 years, 10 months ago (2014-01-29 18:41:16 UTC) #15
sugoi1
https://codereview.chromium.org/131343011/diff/190001/src/core/SkTileGrid.h File src/core/SkTileGrid.h (right): https://codereview.chromium.org/131343011/diff/190001/src/core/SkTileGrid.h#newcode64 src/core/SkTileGrid.h:64: virtual int getCount() const SK_OVERRIDE; On 2014/01/29 18:41:16, reed1 ...
6 years, 10 months ago (2014-01-29 18:43:57 UTC) #16
reed1
On 2014/01/29 18:43:57, sugoi1 wrote: > https://codereview.chromium.org/131343011/diff/190001/src/core/SkTileGrid.h > File src/core/SkTileGrid.h (right): > > https://codereview.chromium.org/131343011/diff/190001/src/core/SkTileGrid.h#newcode64 > ...
6 years, 10 months ago (2014-01-29 18:49:10 UTC) #17
sugoi1
On 2014/01/29 18:49:10, reed1 wrote: > On 2014/01/29 18:43:57, sugoi1 wrote: > > https://codereview.chromium.org/131343011/diff/190001/src/core/SkTileGrid.h > ...
6 years, 10 months ago (2014-01-29 18:58:43 UTC) #18
reed1
On 2014/01/29 18:58:43, sugoi1 wrote: > On 2014/01/29 18:49:10, reed1 wrote: > > On 2014/01/29 ...
6 years, 10 months ago (2014-01-29 19:13:07 UTC) #19
sugoi1
On 2014/01/29 19:13:07, reed1 wrote: > On 2014/01/29 18:58:43, sugoi1 wrote: > > On 2014/01/29 ...
6 years, 10 months ago (2014-01-29 19:21:50 UTC) #20
reed1
interface lgtm -- deferring to others for the impl specifics.
6 years, 10 months ago (2014-01-29 19:36:26 UTC) #21
Justin Novosad
lgtm with nits https://codereview.chromium.org/131343011/diff/240001/src/core/SkQuadTree.cpp File src/core/SkQuadTree.cpp (right): https://codereview.chromium.org/131343011/diff/240001/src/core/SkQuadTree.cpp#newcode163 src/core/SkQuadTree.cpp:163: static const int QT_NODE_CAPACITY = 4; ...
6 years, 10 months ago (2014-01-31 18:57:54 UTC) #22
sugoi1
The CQ bit was checked by sugoi@chromium.org
6 years, 10 months ago (2014-02-03 17:52:01 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/sugoi@chromium.org/131343011/350001
6 years, 10 months ago (2014-02-03 17:52:07 UTC) #24
commit-bot: I haz the power
Change committed as 13282
6 years, 10 months ago (2014-02-03 18:08:41 UTC) #25
commit-bot: I haz the power
CQ bit was unchecked on CL. Ignoring.
6 years, 10 months ago (2014-02-03 18:08:42 UTC) #26
commit-bot: I haz the power
CQ bit was unchecked on CL. Ignoring.
6 years, 10 months ago (2014-02-03 18:09:55 UTC) #27
f(malita)
On 2014/02/03 18:08:41, I haz the power (commit-bot) wrote: > Change committed as 13282 This ...
6 years, 10 months ago (2014-02-03 18:33:55 UTC) #28
sugoi1
On 2014/02/03 18:33:55, Florin Malita wrote: > On 2014/02/03 18:08:41, I haz the power (commit-bot) ...
6 years, 10 months ago (2014-02-03 18:36:59 UTC) #29
sugoi1
On 2014/02/03 18:36:59, sugoi1 wrote: > On 2014/02/03 18:33:55, Florin Malita wrote: > > On ...
6 years, 10 months ago (2014-02-03 18:48:05 UTC) #30
tomhudson
A bit of patch necromancy: > The R-Tree BBH is still used by default Skia ...
6 years, 10 months ago (2014-02-24 16:48:37 UTC) #31
sugoi
6 years, 10 months ago (2014-02-24 16:50:21 UTC) #32
Message was sent while issue was closed.
On 2014/02/24 16:48:37, tomhudson wrote:
> A bit of patch necromancy:
> 
> > The R-Tree BBH is still used by default
> 
> Skia uses RTree "by default" in SkPicture::createBBoxHierarchy(), but Chromium
> is actually using TileGrids at runtime, right?

Right

Powered by Google App Engine
This is Rietveld 408576698