Marc, can you tell use what operating system you're using?  It will  
make a big difference here.

As to detatchAll() versus a specific portrayal: laziness.  It's easy  
for us to clean out everything, but detatching a specific portrayal  
means shifting a bunch of stuff down.  We figured one could detach  
everything and then reattach the stuff you wanted.  :-)  :-) If it'd  
be helpful for you, I could look into how to do it.


On Apr 20, 2006, at 10:48 AM, Marc Richards wrote:

> Forgive me if this a redundant post, I don't think my original  
> message made
> it through to the list.
> I'm not getting the performance that I would expect out of the
> FastValueGridPortrayal2D with an immutable field. I've attached an  
> example
> class that demonstrates the issue. The portrayal's field is a  
> DoubleGrid2D
> that has random values between 0 and 1, mapped from translucent  
> black to
> opaque black. Every 50 steps the values on the grid are reset to  
> new random
> values. It seems to me that I should be able to get the best  
> performance by
> calling setImmutable(true) on the portrayal, and calling reset()  
> every 50
> steps. By "better performance" I mean the simulation steps faster.
> However, I don't have any noticable improvement if setImmutable is  
> true or
> false. It doesn't seem to matter if the buffer is set to USE_BUFFER or
> DONT_USE_BUFFER. If the colors are mapped from opaque white to  
> opaque black
> (so there is no transparency), performance is much better, but ONLY  
> if I set
> immutable to false. Doesn't that seem backwards?
> I feel like I must be missing something about how setImmutable  
> works. Any
> suggestions? I'm using WinXP with the most recent version of MASON.
> And a mostly unrelated question: Is there any reason you can  
> detatchAll()
> from a Display2D but not detatch a specific portrayal?
> Thanks, and congrats on the new version,
> Marc