Hi!
I'd like to raise the issue of multi-threading and the SVG-Spec. I really
think that the spec should take multi-threaded environments into strong
consideration. For example, let's take this:
var rect = document.createElementNS(.., "rect");
rect.setAttributeNS(..)
..
document.rootElement.appendChild(rect);
var theBBox = rect.getBbox();
The last line in Renesis may contain garbage at this point. Why? Because the
bbox (and other things like screen TM, client TM etc.) are calculated during
the rendering step. But because Renesis v3 does multi-threaded rendering,
you will never ever get a guarantee when those changes will make it to the
rendering. The only possible solution I could think about is to introduce
some kind of rendering feedback including cookies. Consider this:
var rect = document.createElementNS(.., "rect");
rect.setAttributeNS(..)
..
document.rootElement.appendChild(rect);
document.setRenderingCookie(123);
Now you could wait for the appropriate callback:
function renderComplete(evt, cookie)
{
if (cookie == 123) { this is the pass we want }
}
I think, multi-threaded environments become more and more important
especially in the times of Multi-Core processors so we should give it a
strong consideration. But for now, what are we actually supposed to do in
Renesis for the previously described behaviour / issue?
mfG / Regards,
Alexander Adam
--
GeschÃ¤ftsfÃ¼hrer / CEO
examotion GmbH
OstendstraÃe 115
90482 NÃ¼rnberg, Germany
Fon: +49 911 - 504901-11
Fax: +49 911 - 504901-20
E-Mail: alexander.adam@examotion.com
Web: http://www.examotion.com
GeschÃ¤ftsfÃ¼hrer: Alexander Adam
Amtsgericht NÃ¼rnberg HRB Nr.: 23803
Gerichtsstandort: NÃ¼rnberg
--------------------------------------------------
LEGAL DISCLAIMER: The information in this email is confidential and may be
legally privileged. It is intended solely for the addressee. Access to this
email by anyone else is unauthorized. If you are not the intended recipient,
any disclosure, copying, distribution or any action taken or omitted to be
taken in reliance on it, is prohibited and may be unlawful.
--------------------------------------------------