I am running a large agricultural questionnaire and have tablets that are within spec. I am having problems with the tablets running very slowly with the questionnaire. I have made sure that the rosters have limits and have run some diagnostics by removing sections and checking the speed. Removing no individual section increases the speed. We have three agricultural sections with a lot of coding and removing any two of the three increases the speed, but we can’t afford to remove these. It’s quite strange as we have run these large questionnaires before and have not had this issue.
Would you be able to provide any information on how we could identify the specific parts within the sections that are causing the speed problem? Any help you could provide would be greatly appreciated.
Please note, that validation and enablement conditions can heavily affect response time, especially if you use LINQ expressions, lookup tables, and loops a lot.
You can clone your questionnaire and remove validations and conditions to see if there is any improvement in performance.
Thank you Slava and Ashwini for your helpful responses.
Sergiy, the questionnaire has 814 questions, 69 sections and 67 rosters. the tablet model is: Tablet AOC A831L-D (8", 2GB RAM, 8GB ROM). We are only in the pre-testing stage at the moment so do not have data on the response time. But the transition between questions for loading is taking a few seconds on average each time. The questionnaire is quite code-heavy but no more than previous surveys that have worked fine.
Any advice would be most welcome.
Have a copy of the questionnaire, cut away all the code that you’ve written for validations and skips. Check the performance. If it is acceptable, the problem is in your code. Most likely this will be the case.
Adding to Slava’s and Sergiy’s suggestions, use the Show elapsed time per answer setting on Tester to display how long each question is taking (Tester > Settings > Show elapsed time per answer). See the “Time of Expressions Calculation” in the version 5.26 release notes for slightly more info.
Like Slava, my suspicion is that there’s an expression somewhere whose execution is taking a lot of time, or that is getting re-evaluated as a function of answers to lots of questions. Finding that expression will help you determine what code could be rewritten (or deleted).
Thank you all for your input. I spent some time playing with the coding and checking the response time in the tester. Seems the source was mainly some very long rosters with some heavy validation coding, I’ve broken them up and simplified them and things are running much faster now.