Differentiate between blocks that are visible and those that probably

aren't (we can't truly know if a block is visible until we resolve it
because objects of arbitrary height can overlap the view bounds even if
the block's footprint does not); resolve the definitely visible ones first
and go ahead and start drawing once the known visible blocks are ready.
This cuts the time spent on the "blue screen" by about 75%.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2595 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2003-05-20 23:57:48 +00:00
parent 8e820811bc
commit 5bdf72f615
2 changed files with 24 additions and 11 deletions
@@ -1,5 +1,5 @@
//
// $Id: SceneBlockResolver.java,v 1.4 2003/05/12 01:53:19 mdb Exp $
// $Id: SceneBlockResolver.java,v 1.5 2003/05/20 23:57:48 mdb Exp $
package com.threerings.miso.client;
@@ -18,10 +18,15 @@ public class SceneBlockResolver extends LoopingThread
/**
* Queues up a scene block for resolution.
*/
public void resolveBlock (SceneBlock block)
public void resolveBlock (SceneBlock block, boolean hipri)
{
Log.debug("Queueing block for resolution " + block + ".");
_queue.append(block);
Log.debug("Queueing block for resolution " + block +
" (" + hipri + ").");
if (hipri) {
_queue.prepend(block);
} else {
_queue.append(block);
}
}
/**