I'm tracking load timing and it's taking about 29 seconds all in to go from the first time I can measure till form:ready. Breaking that down it seems that the vast majority of the time it's simply doing, well something - who knows for 25 of those 29 seconds. It doesn't seem to be calling any of my code for that period - what is it doing? And how can I speed it up?
Here's a log I create to try and better understand the initialization process. (mm:ss:milli)
28:07:350 **First Initialization
Triggered by an 'initialize' event tied to the first field element that gets called (determined through trial and error)
For these four seconds I do some initialization and walk the object hierarchy tree*
28:11:597 Form initializations starting
Done with my initial stuff
For next 25 seconds I have zero, I mean zero initialization calls tied to and objects in the object hierarchy
What is Reader doing?
28:36:531 Form validation occurring
Just a check to know when the initialization phase is over and validations start occurring
I've googled for help on this -- all I see is a focus on server based configurations.
*A neat trick I haven't seen before. I do a lot of hiding and showing of subforms (e.g., a tab bar, radio button sensitive showing of subforms, etc.) but want to keep validation working. Turns out that a field in a hidden subform that is mandatory for validation will still be triggered. So you have to turn off that validation check when you hide a field. More work, but the default validation works.