I'm trying to make the most of Athens rendering. One problem is that
AthensCanvas currently does not support clipping. In normal Morphic, when
an object changes its appearance, a changed message triggers the damage
recorder to mark the full bounds as invalid. On the next redraw cycle, a
canvas is sent around with a clipRect that is equivalent to the damaged
area. Morphs not intersecting that clipRect are not drawn. This is a fairly
efficient process.

Currently, AthensCanvas does not seem to have a clipRect. When an
AthensCanvas gets sent the isVisible: message, it returns true. That means
all elements are drawn for any update cycle. That's inefficient. I've got a
fairly complex application. Instead of the five elements that are necessary
to redraw, I get all 100. Now, Athens is so fast that it mainly makes up
for that. But, a 20x inefficiency is not a good thing to include in the
system.

Are there plans to introduce a clipRect functionality into Athens? I
noticed that "isVisible:" is called in the "fullDrawOnAthensCanvas:"
method, which leads me to think that it should have a meaning (eventually).
I do realize that such functionality is a bit more difficult for Athens as
it uses relative, rather than global coordinates.

Cheers,

Jeff

-- 
Jochen "Jeff" Rick, Ph.D.
http://www.je77.com/
Skype ID: jochenrick

Reply via email to