On 21/09/2007, Brian Cassidy <[EMAIL PROTECTED]> wrote: > Hey All, > > I'm trying to speed up my form rendering -- I have a page with about > 1200 checkbox + label pairs that I'm trying to display and it's taking > about 15 seconds with TT2 before the page shows up.
Have you timed it server side? I wouldn't be surprised if at least half of that is browser-rendering time. I've tried a quick script that prints a form with 1200 checkboxes, and it typically takes about 4.2 seconds with TT, and 4.8 seconds with Template::Alloy. I would hope most servers have more cpu and ram than the old laptop I'm running. > I thought I might try Template::Allow to see if it improves anything. > However, if i set > > Controller::HTML::FormFu: > constructor: > render_class_args: > TEMPLATE_ALLOY: 1 > > in my app config and try to view a form, i get the following error: > > Couldn't render template "undef error - undef error - Can't locate > object method "force_error_message" via package > "HTML::FormFu::Render::Form" at > /usr/local/share/perl/5.8.8/Template/Alloy.pm line 578. > " I'm guessing your template is calling form.render.force_error_message ? HTML::FormFu::Render::Form doesn't actually have a force_error_mesage() method, so it needs to fallback to the hash-key. In your Template/Alloy.pm at the quoted line number, add a "warn $@" immediately before the line that reads: die $@ if ref $@ || $@ !~ /Can\'t locate object method "\Q$name\E" via package "\Q$class\E"/; That should reveal what's going wrong. $@ should contain the "Can't locate..." string, so it knows to fallback to trying a hash-key value. > Maybe there's a better way to render such a massive amount of data? 1200 checkboxes does sound a lot! Just for that element, you could try inlining some of the included templates, and set the element's filename() to the new file. Carl _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu