Re: speeding up svg serialization?

2002-10-09 Thread lrs

Hi Joerg,

From: Joerg Heinicke [EMAIL PROTECTED]
 Hello Leona,

 we use SVG generated PNGs at www.ekommunen.de too and the serialization
 is really fast except the very first request on a SVG serializer. I
 guess this is because of the first instantiation of Batik, but maybe
 somebody can say something more about this. Is it really a problem if
 the very first user accessing the very first time the site has to wait
 some seconds more?

It wouldn't be so bad if it was just the first user, but in our
architecture,
every user is running Tomcat and Cocoon, thus every user is also a
first user! I'll have to do some research on Batik, but hints would be
welcome.

 Maybe therefore you can optimize your sitemap or the XSLT. For example
 you are passing the request parameters and some other parameters to the
 stylesheets, which prevents effective caching. Stylesheets are cached in
 combination with passed parameters. We changed this by storing such
 parameters in an extra XML, which is aggregated in the sitemap. So there
 is really only one instance of the stylesheet in the cache.

Are you talking about storing the parameters in an XML file? What I
think I really need is the concept of a session object that can pass
parameters between pages.

 Furthermore I see

 add_image
 img_file={concat('http://localhost:8080/GS/name.jpg?display=',
./Role)}/

 in the stylesheets, which can be simplified to

 add_image img_file=http://localhost:8080/GS/name.jpg?display={Role}/

This was a beginners mistake which has been fixed.

 And the third point: You have a template creating an add_image/
 element and one matching one them. Hmm, I can only guess, but are you
 storing add_image/ in a Result Tree Fragment, which you convert back
 to a node set and apply a template to it? If it is so, maybe there are
 better processings possible.


add_image/ generates the HTML output which goes to the serializer.

In general the Cocoon/XML/Java parts perform well. I am new to Cocoon,
so, of course, there is room for improvement, but it really is the svg
processing
that slows it down the first time.

 Regards,

 Joerg

Thanks for your help,
Leona

 lrs wrote:
  Hi All,
 
  I have an application that is generating some labels for a table
  using svg. All it does is generate some text and rotate it 180.
  This is the sitemap fragement that applies to this function.
 
 map:match pattern=name.jpg
   map:generate src=gs.xml/
  map:transform src=page2svg.xsl
map:parameter name=use-request-parameters value=true/
map:parameter name=pagename value=name.jpg/
map:parameter name=display value={display}/
  /map:transform
   map:serialize type=svg2jpeg/
 /map:match
 
  which is called from this piece of XSL.
xsl:template match=Role name=Role
   ...
  add_image
  img_file={concat('http://localhost:8080/GS/name.jpg?display=',
./Role)}/
  ...
/xsl:template
 
  and add_image is a simple template:
 
xsl:template name=add_image match=add_image
  xsl:element name=img
xsl:attribute name=src
  xsl:value-of select=@img_file/
/xsl:attribute
  /xsl:element
/xsl:template
 
  The problem is that the rendering of the svg is sooo slow. It takes
  up to 15 seconds to generate as few a 8 labels, whereas the table
  itself (plain HTML) can have hundreds of cells, yet render in as
  little as 2 seconds. Subsequent views of the page are faster
  because the images are cached, but I would like to get better
  performance on the first viewing.
 
  Does anyone know if this can be optimized, either in the configuration
  files, the sitemap, the XSL or some other method?
 
  Any help would be greatly appreciated.
 
  Thanks very much,
  Leona Slepetis


 -
 Please check that your question  has not already been answered in the
 FAQ before posting. http://xml.apache.org/cocoon/faq/index.html

 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail:   [EMAIL PROTECTED]





-
Please check that your question  has not already been answered in the
FAQ before posting. http://xml.apache.org/cocoon/faq/index.html

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:   [EMAIL PROTECTED]




Re: speeding up svg serialization?

2002-10-09 Thread Joerg Heinicke

HI Leona,

lrs wrote:
 Hi Joerg,
 
 From: Joerg Heinicke [EMAIL PROTECTED]
 
Hello Leona,

we use SVG generated PNGs at www.ekommunen.de too and the serialization
is really fast except the very first request on a SVG serializer. I
guess this is because of the first instantiation of Batik, but maybe
somebody can say something more about this. Is it really a problem if
the very first user accessing the very first time the site has to wait
some seconds more?
 
 
 It wouldn't be so bad if it was just the first user, but in our
 architecture,
 every user is running Tomcat and Cocoon, thus every user is also a
 first user! I'll have to do some research on Batik, but hints would be
 welcome.

Then it's a bit more important of course, but I can't help anymore. 
There *must* be some specialists on batik on this list.

Maybe therefore you can optimize your sitemap or the XSLT. For example
you are passing the request parameters and some other parameters to the
stylesheets, which prevents effective caching. Stylesheets are cached in
combination with passed parameters. We changed this by storing such
parameters in an extra XML, which is aggregated in the sitemap. So there
is really only one instance of the stylesheet in the cache.
 
 
 Are you talking about storing the parameters in an XML file? What I
 think I really need is the concept of a session object that can pass
 parameters between pages.

Yes. We have a huge layout.xsl, which really must efficiently be cached. 
Therefore the XML it is transforming is an aggregation of the XML file 
itself and a little XML file, which is created via XSP and contains some 
parameterization. But if the latter accessing of an SVG generated image 
is not that problem, maybe it's not that important.

And the third point: You have a template creating an add_image/
element and one matching one them. Hmm, I can only guess, but are you
storing add_image/ in a Result Tree Fragment, which you convert back
to a node set and apply a template to it? If it is so, maybe there are
better processings possible.
 
 add_image/ generates the HTML output which goes to the serializer.
 
 In general the Cocoon/XML/Java parts perform well. I am new to Cocoon,
 so, of course, there is room for improvement, but it really is the svg
 processing
 that slows it down the first time.

Hmm, I still don't exactly understand, in which way you are doing it, 
but the same like above: maybe not so important.

Sorry, that I can't help you more.

Regards,

Joerg


-
Please check that your question  has not already been answered in the
FAQ before posting. http://xml.apache.org/cocoon/faq/index.html

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:   [EMAIL PROTECTED]




Re: speeding up svg serialization?

2002-10-08 Thread Joerg Heinicke

Hello Leona,

we use SVG generated PNGs at www.ekommunen.de too and the serialization 
is really fast except the very first request on a SVG serializer. I 
guess this is because of the first instantiation of Batik, but maybe 
somebody can say something more about this. Is it really a problem if 
the very first user accessing the very first time the site has to wait 
some seconds more?

Maybe therefore you can optimize your sitemap or the XSLT. For example 
you are passing the request parameters and some other parameters to the 
stylesheets, which prevents effective caching. Stylesheets are cached in 
combination with passed parameters. We changed this by storing such 
parameters in an extra XML, which is aggregated in the sitemap. So there 
is really only one instance of the stylesheet in the cache.

Furthermore I see

add_image 
img_file={concat('http://localhost:8080/GS/name.jpg?display=', ./Role)}/

in the stylesheets, which can be simplified to

add_image img_file=http://localhost:8080/GS/name.jpg?display={Role}/

And the third point: You have a template creating an add_image/ 
element and one matching one them. Hmm, I can only guess, but are you 
storing add_image/ in a Result Tree Fragment, which you convert back 
to a node set and apply a template to it? If it is so, maybe there are 
better processings possible.

Regards,

Joerg

lrs wrote:
 Hi All,
 
 I have an application that is generating some labels for a table
 using svg. All it does is generate some text and rotate it 180.
 This is the sitemap fragement that applies to this function.
 
map:match pattern=name.jpg
  map:generate src=gs.xml/
 map:transform src=page2svg.xsl
   map:parameter name=use-request-parameters value=true/
   map:parameter name=pagename value=name.jpg/
   map:parameter name=display value={display}/
 /map:transform
  map:serialize type=svg2jpeg/
/map:match
 
 which is called from this piece of XSL.
   xsl:template match=Role name=Role
  ...
 add_image
 img_file={concat('http://localhost:8080/GS/name.jpg?display=', ./Role)}/
 ...
   /xsl:template
 
 and add_image is a simple template:
 
   xsl:template name=add_image match=add_image
 xsl:element name=img
   xsl:attribute name=src
 xsl:value-of select=@img_file/
   /xsl:attribute
 /xsl:element
   /xsl:template
 
 The problem is that the rendering of the svg is sooo slow. It takes
 up to 15 seconds to generate as few a 8 labels, whereas the table
 itself (plain HTML) can have hundreds of cells, yet render in as
 little as 2 seconds. Subsequent views of the page are faster
 because the images are cached, but I would like to get better
 performance on the first viewing.
 
 Does anyone know if this can be optimized, either in the configuration
 files, the sitemap, the XSL or some other method?
 
 Any help would be greatly appreciated.
 
 Thanks very much,
 Leona Slepetis


-
Please check that your question  has not already been answered in the
FAQ before posting. http://xml.apache.org/cocoon/faq/index.html

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:   [EMAIL PROTECTED]