Commit Graph

20 Commits

Author SHA1 Message Date
Michael Bayne 48c9556d18 Fine grained scene block resolution instrumentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2706 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-12 04:16:32 +00:00
Michael Bayne 73a4a02aa1 A few substantial changes:
- Tiles are initialized after being constructed which makes life simpler
  for custom tiles which no longer have to have their own constructor that
  passes Tile's stuff down to it.

- Tiles are no longer LRU cached (because we blow through that cache
  instantly on all but the smallest of scenes), and are now tracked by
  weak references so that we guarantee that only one instance of a tile is
  ever in memory.

- Added code to track and report memory usage of weak cached tiles as well
  as "stray" tiles which are created through other means than asking a
  TileSet for a tile (fringe tiles being the most prolific example).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2628 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-31 00:56:38 +00:00
Ray Greenwell 99ccd996df Oops, remove these too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2623 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-29 01:59:17 +00:00
Ray Greenwell af504ef8aa Added MisoUtil.getTileHash(), made both SceneBlock and AutoFringer use
it to pick random tiles based on x/y location.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2622 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-29 01:58:06 +00:00
Michael Bayne 3bacbbe803 More useful debugging information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2605 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-23 19:35:11 +00:00
Michael Bayne 8ca388fb7e Implemented a debugging view that shows when scene blocks are being
resolved; adjusted influential bounds based on new strategy for scrolling
around and resolving blocks.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2567 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-12 02:03:31 +00:00
Michael Bayne 0165cca20a Make a note of a potentially non-intuitive return value.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2492 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 20:41:13 +00:00
Michael Bayne 508e389678 Make the bounds of just our objects available as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2489 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 20:27:35 +00:00
Michael Bayne b907bc02b0 Ensure that we always eventually claim to be resolved.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2467 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-26 02:16:18 +00:00
Michael Bayne d86ddce45d More delayed block loading improvements: resolve fewer blocks, use the
same mechanism for including and excluding blocks.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2464 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-25 22:13:14 +00:00
Michael Bayne cca2a9cd16 Beginnings of support for asynchronous scene image data resolution.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2462 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-25 18:22:52 +00:00
Michael Bayne 5d5a0e8173 Allow base tiles to be cleared out; clear out the fringe when a base tile
is updated because the caller will need to recompute it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2453 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-24 21:27:23 +00:00
Michael Bayne ea3adbb530 Use the compose() method which properly handles negative y values.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2448 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-23 00:45:24 +00:00
Michael Bayne 0eea772f57 Oh the delicacy of the negative numbers. Wasn't properly computing
neighbor and block keys and was thus booching object footprint coverage
computation.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2447 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-23 00:37:46 +00:00
Michael Bayne 1da61b99c7 Disallow adding the same object in the same place twice.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2441 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-22 01:57:20 +00:00
Michael Bayne e628a8e429 Added support for specifying a default tileset for scenes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2439 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-21 17:08:57 +00:00
Michael Bayne 7772cdc175 Make our bounds available.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2428 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-19 02:01:08 +00:00
Michael Bayne ffb9e3b4e4 Added code to enable bounds checking of calls to index. Not enabled by
default because we can generally figure it out from the NPE and this gets
called a crapload so we don't want to negatively impact performance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2422 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-18 23:18:30 +00:00
Michael Bayne a4d16abb4c Added code to support scene editing: adding and removing objects, updating
base and fringe tiles.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2418 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-18 18:33:31 +00:00
Michael Bayne d5701962a3 The big fat bernie revamp! Er, big fat miso revamp rather:
- Combined SceneViewPanel and IsoSceneView into one happy panel.
- Ditched the DisplayMisoScene notion; the new MisoScenePanel now manages
  resolved scene information (like base, object and fringe tiles) itself
  so that it can...
- ...support scrolling scenes by keeping blocks of resolved base, fringe
  and object information loaded only for what is potentially visible
  rather than for the whole scene.

Other things were surely cleaned up or broken in the process to keep a
keen eye out.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2413 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-17 19:21:17 +00:00