Hi Patrick,
Sorry for the long delay in replying, I have been out of the office for the last week.
I am glad you suggested stopwatch times. Some good results. OK here goes …
The tests were in the format; reboot the machine. Run 4 successive opening and closings of the same form. Reboot the machine (R). Run another 4 successive opening and closings of the same form. All times are in seconds.
The first line is the InfoPath IDE created blank form.
The second line is the Visual Studio created blank form.
.…1…|..…2…|…3.…|..…4…|.R.| .…1…|..…2…|…3.…|..…4…|All AV.|.Av Not inc 1.|
2.94 | 0.75 | 0.81 | 0.70 | R | 5.00 | 0.78 | 0.75 | 0.65 | 1.55 | 0.74 |
6.80 | 1.50 | 1.39 | 1.44 | R | 7.00 | 1.50 | 1.49 | 1.25 | 2.80 | 1.43 |
The first line is the InfoPath IDE created blank form, webService returning 2 records.
The second line is the Visual Studio created blank form, webService returning 2 records.
.…1…|..…2…|…3.…|..…4…|.R.| .…1…|..…2…|…3.…|..…4…|All AV.|.Av Not inc 1.|
3.25 | 0.93 | 1.00 | 0.80 | R | 3.60 | 0.76 | 0.89 | 0.83 | 1.51 | 0.87 |
6.30 | 1.55 | 1.61 | 1.62 | R | 6.26 | 1.37 | 1.55 | 1.56 | 2.73 | 1.54 |
The first line is the InfoPath IDE created blank form, webService returning 1000 records.
The second line is the Visual Studio created blank form, webService returning 1000 records.
.…1…|..…2…|…3.…|..…4…|.R.| .…1…|..…2…|…3.…|..…4…|All AV.|.Av Not inc 1.|
4.75 | 1.05 | 0.93 | 1.04 | R | 4.93 | 1.11 | 0.94 | 0.87 | 1.95 | 0.99 |
7.51 | 1.75 | 1.99 | 1.62 | R | 6.68 | 1.69 | 1.55 | 1.43 | 3.03 | 1.67 |
Therefore, as you expected, this does clearly show there is a consistent increase in form average opening time (based on the average not including the 1st opening time) when firstly the webService is added, then as the webService return records increase.
Moving on to my real world example;
The first line is the Discharge form with webServices onload.
The second line is the Discharge form with NO webServices onload.
.…1…|..…2…|…3.…|..…4…|.R.| .…1…|..…2…|…3.…|..…4…|All AV.|.Av Not inc 1.|
18.12 | 2.43 | 2.81 | 2.75 | R | 14.93 | 2.51 | 2.44 | 2.87 | 6.11 | 2.64 |
12.12 | 2.69 | 2.37 | 2.05 | R | 14.30 | 2.31 | 2.12 | 2.30 | 5.03 | 2.31 |
Once again showing there is a performance difference with the webServices executing on load.
Finally, programmatically caching InfoPath templates using Application.CacheSolution before the 1st opening of the InfoPath form.
http://blogs.msdn.com/asanto/archive/2004/05/18/133796.aspx)
The first line is the Discharge form with webServices onload.
The second line is the Discharge form with NO webServices onload.
.…1…|..…2…|…3.…|..…4…|.R.| .…1…|..…2…|…3.…|..…4…|All AV.|.Av Not inc 1.|
7.99 | 2.57 | 2.76 | 2.81 | R | 9.80 | 2.87 | 3.01 | 2.75 | 4.32 | 2.80 |
6.99 | 2.62 | 2.44 | 2.09 | R | 7.63 | 2.19 | 2.49 | 2.50 | 3.62 | 2.39 |
Once again showing there is a performance difference with the webServices executing on load.
In addition, showing an initial performance gain occurred on the 1st opening using the CacheSolution, despite the cache files NOT being updated in any way. Lets not forget though, still not to the expected performance of a non 1st opening time.
Thus these stopwatch figures compared to my human stopwatch :) figures do show performance differences occur based on the webService record numbers and execution place.
Sadly this does not really shed any new light on what is causing the delay and the PIA gets the blame !!!! Shame, I wanted to give a concrete answer as to why these performance differences are occurring between blanks forms created using the InfoPath IDE vs the Visual Studio IDE.
thanks for your continued input Patrick,
Kind regards,
Scott