More useful debugging information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2605 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: MisoScenePanel.java,v 1.37 2003/05/22 16:10:54 mdb Exp $
|
// $Id: MisoScenePanel.java,v 1.38 2003/05/23 19:35:11 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.miso.client;
|
package com.threerings.miso.client;
|
||||||
|
|
||||||
@@ -606,7 +606,8 @@ public class MisoScenePanel extends VirtualMediaPanel
|
|||||||
_delayRepaint = mightDelayPaint;
|
_delayRepaint = mightDelayPaint;
|
||||||
Log.info("Delaying repaint... " +
|
Log.info("Delaying repaint... " +
|
||||||
"[need=" + _visiBlocks.size() +
|
"[need=" + _visiBlocks.size() +
|
||||||
", of=" + _pendingBlocks + "].");
|
", of=" + _pendingBlocks +
|
||||||
|
", view=" + StringUtil.toString(_vbounds) + "].");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -695,6 +696,7 @@ public class MisoScenePanel extends VirtualMediaPanel
|
|||||||
_metrics.blockwid, _metrics.blockhei);
|
_metrics.blockwid, _metrics.blockhei);
|
||||||
boolean visible =
|
boolean visible =
|
||||||
block.getFootprint().getBounds().intersects(_vibounds);
|
block.getFootprint().getBounds().intersects(_vibounds);
|
||||||
|
block.setVisiBlock(visible);
|
||||||
_blocks.put(bkey, block);
|
_blocks.put(bkey, block);
|
||||||
|
|
||||||
// queue the block up to be resolved
|
// queue the block up to be resolved
|
||||||
@@ -742,8 +744,9 @@ public class MisoScenePanel extends VirtualMediaPanel
|
|||||||
// we go extra on the height because objects
|
// we go extra on the height because objects
|
||||||
// below can influence fairly high up
|
// below can influence fairly high up
|
||||||
_vbounds.height+3*infbory);
|
_vbounds.height+3*infbory);
|
||||||
_vibounds.setBounds(_vbounds.x, _vbounds.y,
|
_vibounds.setBounds(_vbounds.x-_vbounds.width/4, _vbounds.y,
|
||||||
_vbounds.width, _vbounds.height+infbory);
|
_vbounds.width+_vbounds.width/2,
|
||||||
|
_vbounds.height+infbory);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -799,14 +802,16 @@ public class MisoScenePanel extends VirtualMediaPanel
|
|||||||
}
|
}
|
||||||
--_pendingBlocks;
|
--_pendingBlocks;
|
||||||
if (_pendingBlocks == 0) {
|
if (_pendingBlocks == 0) {
|
||||||
Log.info("Finished resolving pending blocks.");
|
Log.info("Finished resolving pending blocks " +
|
||||||
|
"[view=" + StringUtil.toString(_vbounds) + "].");
|
||||||
}
|
}
|
||||||
|
|
||||||
// once all the visible pending blocks have completed their
|
// once all the visible pending blocks have completed their
|
||||||
// resolution, recompute our visible object set and show ourselves
|
// resolution, recompute our visible object set and show ourselves
|
||||||
if (_visiBlocks.remove(block) && _visiBlocks.size() == 0) {
|
if (_visiBlocks.remove(block) && _visiBlocks.size() == 0) {
|
||||||
recomputeVisible();
|
recomputeVisible();
|
||||||
Log.info("Restoring repaint... [left=" + _pendingBlocks + "].");
|
Log.info("Restoring repaint... [left=" + _pendingBlocks +
|
||||||
|
", view=" + StringUtil.toString(_vbounds) + "].");
|
||||||
_delayRepaint = false;
|
_delayRepaint = false;
|
||||||
_remgr.invalidateRegion(_vbounds);
|
_remgr.invalidateRegion(_vbounds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: SceneBlock.java,v 1.15 2003/05/12 02:03:31 mdb Exp $
|
// $Id: SceneBlock.java,v 1.16 2003/05/23 19:35:11 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.miso.client;
|
package com.threerings.miso.client;
|
||||||
|
|
||||||
@@ -52,6 +52,15 @@ public class SceneBlock
|
|||||||
// the rest of our resolution will happen in resolve()
|
// the rest of our resolution will happen in resolve()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes a note that this block was considered to be visible at the
|
||||||
|
* time it was created. This is purely for debugging purposes.
|
||||||
|
*/
|
||||||
|
public void setVisiBlock (boolean visi)
|
||||||
|
{
|
||||||
|
_visi = visi;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called by the {@link SceneBlockResolver} on the
|
* This method is called by the {@link SceneBlockResolver} on the
|
||||||
* block resolution thread to allow us to load up our image data
|
* block resolution thread to allow us to load up our image data
|
||||||
@@ -337,7 +346,8 @@ public class SceneBlock
|
|||||||
int by = MathUtil.floorDiv(_bounds.y, _bounds.height);
|
int by = MathUtil.floorDiv(_bounds.y, _bounds.height);
|
||||||
return StringUtil.coordsToString(bx, by) + ":" +
|
return StringUtil.coordsToString(bx, by) + ":" +
|
||||||
StringUtil.toString(_bounds) + ":" +
|
StringUtil.toString(_bounds) + ":" +
|
||||||
((_objects == null) ? 0 : _objects.length);
|
((_objects == null) ? 0 : _objects.length) +
|
||||||
|
(_visi ? ":v" : ":i");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -460,6 +470,9 @@ public class SceneBlock
|
|||||||
/** Our neighbors in the eight cardinal directions. */
|
/** Our neighbors in the eight cardinal directions. */
|
||||||
protected SceneBlock[] _neighbors = new SceneBlock[DX.length];
|
protected SceneBlock[] _neighbors = new SceneBlock[DX.length];
|
||||||
|
|
||||||
|
/** A debug flag indicating whether we were visible at creation. */
|
||||||
|
protected boolean _visi;
|
||||||
|
|
||||||
// used to link up to our neighbors
|
// used to link up to our neighbors
|
||||||
protected static final int[] DX = { -1, -1, 0, 1, 1, 1, 0, -1 };
|
protected static final int[] DX = { -1, -1, 0, 1, 1, 1, 0, -1 };
|
||||||
protected static final int[] DY = { 0, -1, -1, -1, 0, 1, 1, 1 };
|
protected static final int[] DY = { 0, -1, -1, -1, 0, 1, 1, 1 };
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: SceneBlockResolver.java,v 1.7 2003/05/22 22:18:27 mdb Exp $
|
// $Id: SceneBlockResolver.java,v 1.8 2003/05/23 19:35:11 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.miso.client;
|
package com.threerings.miso.client;
|
||||||
|
|
||||||
@@ -87,12 +87,13 @@ public class SceneBlockResolver extends LoopingThread
|
|||||||
}
|
}
|
||||||
|
|
||||||
// queue it up on the AWT thread to complete its resolution
|
// queue it up on the AWT thread to complete its resolution
|
||||||
|
final boolean report = (_queue.size() == 0);
|
||||||
EventQueue.invokeLater(new Runnable() {
|
EventQueue.invokeLater(new Runnable() {
|
||||||
public void run () {
|
public void run () {
|
||||||
// let the block's panel know that it is resolved
|
// let the block's panel know that it is resolved
|
||||||
block.wasResolved();
|
block.wasResolved();
|
||||||
// report statistics
|
// report statistics
|
||||||
if (_queue.size() == 0) {
|
if (report) {
|
||||||
Log.info("Resolution histogram " +
|
Log.info("Resolution histogram " +
|
||||||
_histo.summarize() + ".");
|
_histo.summarize() + ".");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user