Can you advice me, is there an ability to speed-up XForm rendering? I have a huge form (page can be divided by more or less individual sections of controls, but the instance must be one), so it takes a lot of time to open it. I have tried increasinng caches in configs, but it had very little effect.
Is there an ability of additional caching of rendering result to fill it up with changed data? Is there an ability to render/store(cache) form by parts? Can you advice in additional rendering speed-up? |
Administrator
|
Questions:
* What version of OF are you using? * How slow is the rendering? * Does your form have multiple "pages", only few of which (or just one) being visible at a time? A while ago we devised something called "relevance optimization". The idea was to avoid creating certain subtrees of large forms spread over multiple pages, where most pages are non-relevant. We've had quite a bit of luck with this, but we would have to check whether this still works properly with the post-beta1 changes. Still, it may be something you could try. Check the relevance optimization property in properties.xml. -Erik On Aug 28, 2008, at 6:05 AM, Lark wrote: > > Can you advice me, is there an ability to speed-up XForm rendering? > I have a > huge form (page can be divided by more or less individual sections of > controls, but the instance must be one), so it takes a lot of time > to open > it. I have tried increasinng caches in configs, but it had very little > effect. > Is there an ability of additional caching of rendering result to > fill it up > with changed data? Is there an ability to render/store(cache) form > by parts? > Can you advice in additional rendering speed-up? > -- > View this message in context: http://www.nabble.com/Big-form-rendering-tp19200109p19200109.html > Sent from the ObjectWeb OPS - Users mailing list archive at > Nabble.com. > > > -- > You receive this message as a subscriber of the [hidden email] > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > OW2 mailing lists service home page: http://www.ow2.org/wws Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Thank You for reply!
I am using Orbeon 3.6.0.200806172336 with JBoss 4.2.2 under Debian-64bit on dual Opteron 265D system. The form rendering time is 8..10 seconds (according to logs - calls to xforms-renderer). The page have many invisible parts (divs/table rows mostly, with a lot of input fields) and user can toggle visibility. I have tried to turn on relevance optimization in Orbeon properties, but it has no effect on speed. Andrey |
Administrator
|
Wow, that is a very long time. Relevance optimization won't work if
you just use switch/case at the moment. What I would advise is the following: replace using switch/case with groups, and use relevance. E.g.: <xf:group ref=".[instance('page-number') = 1]"> ... <xf:group ref=".[instance('page-number') = 2]"> ... <xf:group ref=".[instance('page-number') = 3]"> ... and see if this improves performance w/ relevance optimization. Also, do you have any (or lots) of insert/delete instance replacements running during initialization? -Erik On Aug 29, 2008, at 4:00 AM, Lark wrote: > > Thank You for reply! > I am using Orbeon 3.6.0.200806172336 with JBoss 4.2.2 under > Debian-64bit on > dual Opteron 265D system. > The form rendering time is 8..10 seconds (according to logs - calls to > xforms-renderer). > The page have many invisible parts (divs/table rows mostly, with a > lot of > input fields) and user can toggle visibility. > I have tried to turn on relevance optimization in Orbeon properties, > but it > has no effect on speed. > Andrey > -- > View this message in context: http://www.nabble.com/Big-form-rendering-tp19200109p19217797.html > Sent from the ObjectWeb OPS - Users mailing list archive at > Nabble.com. Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
I have no any switch/case-s in my form and I have usually one (some times more) instance replacement during initialization.
Is there some possibility to skip rendering of invisible parts during form opening and render them when some event happen? |
We thought about the following way for optimization: generated HTML is cached in the system, when user load Xform again, the system gives HTML and after HTML loaded to the browser - it's loads model from the server and updates controls. Is this approach could be applied in Orbeon?
|
Administrator
|
In reply to this post by Lark
On Wed, Sep 3, 2008 at 3:48 AM, Lark <[hidden email]> wrote:
> I have no any switch/case-s in my form and I have usually one (some times > more) instance replacement during initialization. > Is there some possibility to skip rendering of invisible parts during form > opening and render them when some event happen? If you are doing those instance replacement on xforms-ready, you might instead want to do them on xforms-model-construct-done. Alex -- Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise Orbeon's Blog: http://www.orbeon.com/blog/ Personal Blog: http://avernet.blogspot.com/ Twitter - http://twitter.com/avernet -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
In reply to this post by Lark
On Wed, Sep 3, 2008 at 8:31 AM, Lark <[hidden email]> wrote:
> We thought about the following way for optimization: generated HTML is cached > in the system, when user load Xform again, the system gives HTML and after > HTML loaded to the browser - it's loads model from the server and updates > controls. Is this approach could be applied in Orbeon? If what takes time is to loading of the instances, then yes, you might want to serve the page right away to the user with no data, and then trigger right away an event which will load the instances. At this point, you can do this initial "event triggering after the page has loaded" using a couple of lines of JavaScript. More on this here: http://www.nabble.com/Bug-in-the-%3Cxforms%3Aload%3E-action-td18567468.html#a18623978 And we also have plans to add to XForms so you can do this entirely in XForms. Alex -- Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise Orbeon's Blog: http://www.orbeon.com/blog/ Personal Blog: http://avernet.blogspot.com/ Twitter - http://twitter.com/avernet -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
In reply to this post by Lark
> We thought about the following way for optimization: generated HTML
> is cached > in the system, when user load Xform again, the system gives HTML and > after > HTML loaded to the browser - it's loads model from the server and > updates > controls. Is this approach could be applied in Orbeon? First, did you read my suggestion about using relevance optimization after modifying your use of switch/case to use relevant groups instead? Second, your suggestion below is good in theory, but unfortunately that is not how the XForms engine works at the moment: the XForms engine must go through initialization, creation of XForms controls, and produce the resulting HTML. I can imagine how a similar approach could be made to work at some point, but I am not sure how much time it would get. I would also suggest: * Enabling XForms logging, which now produces some information about timings (and even more in recent builds), and see what comes out of it. * Trying the few strategies outlined in this thread so far. * Using a Java profiler (like YourKit) to find out where the time is spent. -Erik -- Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Thank You for advice!
There is another issue with my form that influence speed in large scale. The size of HTML generated from the form is about 1,2 Mb and it is a big amount of data to download even for fast internet channel. Is there some way to reduce generated HTML size? Andrey. |
Administrator
|
Andrey,
First thing to do is making sure the HTML is getting gzipped. Also make sure you checked this page: http://www.orbeon.com/ops/doc/integration-tuning -Erik On Sep 8, 2008, at 5:51 AM, Lark wrote: > > Thank You for advice! > There is another issue with my form that influence speed in large > scale. The > size of HTML generated from the form is about 1,2 Mb and it is a big > amount > of data to download even for fast internet channel. Is there some > way to > reduce generated HTML size? > Andrey. Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Free forum by Nabble | Edit this page |