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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user