Number of controls in a form: Keep the number of controls to a minimum, the more controls a form contains, the longer it will take the form to load or transferred over the Internet or intranet.
Number of items returned in a Dropdown or Lookup controls. Using filter when return items in a Dropdown or Lookup controls will decrease the time needed to load the form as only items needed will be returned in the Dropdown list.
Large data sets: Use Advanced Lookup control instead of Dropdown or Lookup controls for large data sets. If the number of items to be returned in a Dropdown list is huge (200 items or more), use Advanced Lookup control that make you able to search for specific item rather than retrieve all items in a Dropdown list.
Unused rules: Deleting unnecessary rules can increase the form performance and decrease the time needed to design the form. Remove unused rules and try to simplify the rules as much as possible.
Hidden controls: Remove any hidden controls that were only used for designing, debugging/troubleshooting purposes: Hidden controls that are not used in the final designed form only add overhead to a form. Exception: if necessary, replace hidden controls that can help to simplify form design or can help for internal operations with form variables as they are considered as temp memory storage for the form and do not add extra overhead on the form.
Unnecessary data: Wherever possible, try to load data only when it is necessary and required. For example, do not populate Dropdown lists on hidden tabs. When using tabs, populate data in the first tab in the loading form and then populate the remaining tabs when click it. This could be done by utilizing and optimizing your rules conditions.
Views & Paging: Use Form Paging/ Form Views to limit number of controls appearing when loading the form. Using paging, tabs or form views enables a form to show only a limited number of items at a time. This means that even though there is large data set and thus hundreds of controls, the form is only rendering part of them, and it will only render the next set of items when the user paginates through the form.
Number of connections to capture data especially from external data source. Do you have a form that capture data from several databases, web services, XML data sources or SP lists? If so, make sure that the data is not being capture in form load. You can easily set rules to query a data connection. For example, if you have a Dropdown list populated from an external source (i.e. SQLDB), add a rule to that list to query the data connection and select that the form doesn’t retrieve data on form load. That way, if the list is optional and a user doesn’t click on it, the data is never loaded. If you have multiple controls of this type, the time needed to retrieve data during form loading will be high when compare it when loading data if need it.
The simple and suitable of control: Are your controls as suitable and simple as they can be? Do you have a Rich Textbox when all you need is a Textbox control? Do you have a DateTime when all you need is a Time control? Some controls are more complex than others. The simpler the control you use, the less time it will take to load the form.
Upgrade to the latest versions of SPARK Forms: New versions usually include performance improvements. By upgrading SPARK, you will improve the performance of your forms. Make sure you have the latest version if you are experiencing any issues including performance.
General server configuration or client browser. For example, recommends configuration changes to reduce the amount of network traffic and round-trips that may occur in a Network Load Balanced (NLB) environment. Also, enable IIS caching on the initial load of a form to improve the performance of complex forms. Also, update to the latest versions of client browsers to get a higher performance.