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

Issue 187233002: Fast implementation of QuadTree (Closed)

Created:
6 years, 9 months ago by iancottrell
Modified:
6 years, 9 months ago
CC:
skia-review_googlegroups.com, sugoi
Base URL:
https://skia.googlesource.com/skia.git@bbh_select
Visibility:
Public.

Description

Fast implementation of QuadTree Rewritten to avoid memory allocations. BUG=skia:2242 Committed: http://code.google.com/p/skia/source/detail?r=13826

Patch Set 1 : Delete dead code #

Total comments: 16

Patch Set 2 : Reveiw fixes, renaming #

Total comments: 18

Patch Set 3 : Split the new list classes out, and make them more general. Other review fixes. #

Total comments: 33

Patch Set 4 : Renaming and comments for clarity #

Patch Set 5 : Review fixes #

Patch Set 6 : Tests for SList and ObjectPool classes #

Patch Set 7 : Fast quadrant search for playback #

Patch Set 8 : rebase #

Patch Set 9 : Clang fix #

Patch Set 10 : XCode fixes #

Total comments: 2

Patch Set 11 : Work around compiler warning for array bounds #

Patch Set 12 : I give up, stoopid compiler #

Unified diffs Side-by-side diffs Delta from patch set Stats (+653 lines, -201 lines) Patch
M bench/QuadTreeBench.cpp View 1 2 1 chunk +12 lines, -8 lines 0 comments Download
M gyp/tests.gypi View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download
M src/core/SkQuadTree.h View 1 2 3 4 chunks +44 lines, -13 lines 0 comments Download
M src/core/SkQuadTree.cpp View 1 2 3 4 5 6 2 chunks +168 lines, -172 lines 0 comments Download
M src/core/SkQuadTreePicture.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
A src/core/SkTInternalSList.h View 1 2 3 4 5 6 7 8 1 chunk +132 lines, -0 lines 0 comments Download
A src/core/SkTObjectPool.h View 1 2 3 4 5 1 chunk +104 lines, -0 lines 0 comments Download
M tests/BBoxHierarchyTest.cpp View 1 2 4 chunks +11 lines, -7 lines 0 comments Download
A tests/ObjectPoolTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +68 lines, -0 lines 0 comments Download
A tests/SListTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +111 lines, -0 lines 0 comments Download

Messages

Total messages: 26 (0 generated)
iancottrell
This cl currently pases all tests, and is faster than the other bbox types, but ...
6 years, 9 months ago (2014-03-05 01:39:44 UTC) #1
tomhudson
Unless we need to expose them in other public header files, the two new classes ...
6 years, 9 months ago (2014-03-05 11:56:56 UTC) #2
iancottrell
https://codereview.chromium.org/187233002/diff/20001/src/core/SkQuadTree.cpp File src/core/SkQuadTree.cpp (right): https://codereview.chromium.org/187233002/diff/20001/src/core/SkQuadTree.cpp#newcode31 src/core/SkQuadTree.cpp:31: SkQuadTree::Node* SkQuadTree::pickChild(Node* node, const SkIRect& bounds) const { On ...
6 years, 9 months ago (2014-03-05 12:11:15 UTC) #3
robertphillips
https://codereview.chromium.org/187233002/diff/40001/src/core/SkQuadTree.cpp File src/core/SkQuadTree.cpp (right): https://codereview.chromium.org/187233002/diff/40001/src/core/SkQuadTree.cpp#newcode82 src/core/SkQuadTree.cpp:82: } overlength lines https://codereview.chromium.org/187233002/diff/40001/src/core/SkQuadTree.cpp#newcode121 src/core/SkQuadTree.cpp:121: node->fChildren[index] = NULL; NULL ...
6 years, 9 months ago (2014-03-05 13:08:53 UTC) #4
reed1
https://codereview.chromium.org/187233002/diff/40001/src/core/SkQuadTree.h File src/core/SkQuadTree.h (right): https://codereview.chromium.org/187233002/diff/40001/src/core/SkQuadTree.h#newcode39 src/core/SkQuadTree.h:39: * Takes all the items from another list. Are ...
6 years, 9 months ago (2014-03-05 14:33:01 UTC) #5
iancottrell
https://codereview.chromium.org/187233002/diff/40001/src/core/SkQuadTree.cpp File src/core/SkQuadTree.cpp (right): https://codereview.chromium.org/187233002/diff/40001/src/core/SkQuadTree.cpp#newcode82 src/core/SkQuadTree.cpp:82: } On 2014/03/05 13:08:53, robertphillips wrote: > overlength lines ...
6 years, 9 months ago (2014-03-07 15:06:33 UTC) #6
reed1
https://codereview.chromium.org/187233002/diff/60001/src/core/SkFreeList.h File src/core/SkFreeList.h (right): https://codereview.chromium.org/187233002/diff/60001/src/core/SkFreeList.h#newcode18 src/core/SkFreeList.h:18: * An implementation of a self growing free list ...
6 years, 9 months ago (2014-03-07 15:18:38 UTC) #7
reed1
can we write some simple tests for SkFreeList?
6 years, 9 months ago (2014-03-07 15:19:35 UTC) #8
robertphillips
https://codereview.chromium.org/187233002/diff/60001/src/core/SkFreeList.h File src/core/SkFreeList.h (right): https://codereview.chromium.org/187233002/diff/60001/src/core/SkFreeList.h#newcode11 src/core/SkFreeList.h:11: #include "SkTInternalSList.h" Is this needed? https://codereview.chromium.org/187233002/diff/60001/src/core/SkFreeList.h#newcode12 src/core/SkFreeList.h:12: #include "SkRect.h" ...
6 years, 9 months ago (2014-03-07 16:01:34 UTC) #9
iancottrell
SkTInternalLList and SkTObjectPool both still need exhaustive tests, I was waiting for general happiness with ...
6 years, 9 months ago (2014-03-07 16:02:33 UTC) #10
iancottrell
https://codereview.chromium.org/187233002/diff/60001/src/core/SkFreeList.h File src/core/SkFreeList.h (right): https://codereview.chromium.org/187233002/diff/60001/src/core/SkFreeList.h#newcode11 src/core/SkFreeList.h:11: #include "SkTInternalSList.h" On 2014/03/07 16:01:35, robertphillips wrote: > Is ...
6 years, 9 months ago (2014-03-07 16:11:14 UTC) #11
iancottrell
Tests added, and fast quadrant search for playback. This cl is now in a fit ...
6 years, 9 months ago (2014-03-11 00:57:00 UTC) #12
tomhudson
lgtm
6 years, 9 months ago (2014-03-11 14:49:46 UTC) #13
tomhudson
The CQ bit was checked by tomhudson@google.com
6 years, 9 months ago (2014-03-14 10:32:14 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/iancottrell@google.com/187233002/140001
6 years, 9 months ago (2014-03-14 10:32:19 UTC) #15
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-14 10:32:24 UTC) #16
commit-bot: I haz the power
Failed to apply patch for gyp/tests.gypi: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 9 months ago (2014-03-14 10:32:24 UTC) #17
iancottrell
The CQ bit was checked by iancottrell@google.com
6 years, 9 months ago (2014-03-14 11:23:08 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/iancottrell@google.com/187233002/200001
6 years, 9 months ago (2014-03-14 11:23:21 UTC) #19
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-14 11:34:13 UTC) #20
commit-bot: I haz the power
Retried try job too often on Build-Ubuntu12-GCC-x86_64-Release-Trybot for step(s) BuildTests http://108.170.219.164:10117/buildstatus?builder=Build-Ubuntu12-GCC-x86_64-Release-Trybot&number=1754
6 years, 9 months ago (2014-03-14 11:34:14 UTC) #21
Tom Hudson
https://codereview.chromium.org/187233002/diff/200001/tests/SListTest.cpp File tests/SListTest.cpp (right): https://codereview.chromium.org/187233002/diff/200001/tests/SListTest.cpp#newcode82 tests/SListTest.cpp:82: if (!verifyList(reporter, list, "pop", &testArray[index-1], index, -1)) { This ...
6 years, 9 months ago (2014-03-14 12:02:51 UTC) #22
iancottrell
https://codereview.chromium.org/187233002/diff/200001/tests/SListTest.cpp File tests/SListTest.cpp (right): https://codereview.chromium.org/187233002/diff/200001/tests/SListTest.cpp#newcode82 tests/SListTest.cpp:82: if (!verifyList(reporter, list, "pop", &testArray[index-1], index, -1)) { On ...
6 years, 9 months ago (2014-03-14 13:14:47 UTC) #23
iancottrell
The CQ bit was checked by iancottrell@google.com
6 years, 9 months ago (2014-03-17 10:33:32 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/iancottrell@google.com/187233002/240001
6 years, 9 months ago (2014-03-17 10:33:35 UTC) #25
commit-bot: I haz the power
6 years, 9 months ago (2014-03-17 10:38:39 UTC) #26
Message was sent while issue was closed.
Change committed as 13826

Powered by Google App Engine
This is Rietveld 408576698