Sign In


​​Thursday, September 21, 2017​

​ By SPARKnit​ ​,​​

​​​SPARK has been developed to provide users with ability to create any type of forms regarding the form complexity. However, there are many reasons why a form might be slow in loading. In this article, we are trying to cover the most common reasons that make a form slow in loading and expl​​​​ain how to improve the performance.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Number of Rules: Having validation rules, formatting rules or custom JavaScript on a form are necessary, but what needs to be considered is the scale at which it is used. We know that some JavaScript rules generally (not always) only run on the client-side, meaning the action uses local system resources (i.e. the user’s PC), because client-side rules do not communicate with other servers, their responsiveness is usually good. Rules reliant on server interaction, for example, external queries and data lookups, can be independently optimized for performance. Examining rules reliant on server interaction to understand when each of these rules can be run to increase the form performance. The more scripts/functions you add to the form, the more time it will take to load related data.

  6. 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.

  7. 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.

  8. 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.

  9. Number of calculations. SPARK provide users the capabilities to add simple and complex calculations, whether using the standard rule/functions or coded into the form’s custom JavaScript. The first thing you need to check is whether it is really necessary to do the calculations and when the calculations need to be done. Do they need to be done when the form is first opened? Do calculations only when they’re necessary rather than when the form first opens.

  10. 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.

  11. 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.

  12. 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.

  13. ​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.

Finally, Keep things simple and you will improve form performance.​​​