General design considerations for performance

While many factors affect performance, one of the primary ways to optimize performance is to keep the file size of the forms as small as possible.

The file size of forms affects performance when the server renders forms, when transferring forms over slow communication channels, or when storing or retrieving forms from near-line storage.

Consider these general tips to help minimize the file size of forms:

  • Avoid using fonts that must be embedded, particularly for field objects. Embedded fonts cannot be subset.

  • Use embedded images instead of linked images. By default, images are linked.

  • Use a compressed graphic format such as JPEG or GIF.

  • Use Palette or Monochrome images for color. Avoid using 24-bit color formats.

  • Be aware that generating accessible forms affects performance.

  • Use only the minimum number of objects in forms and keep objects as simple as possible.

Consider these general tips to improve the performance of interactive forms:

  • For forms that submit data to Forms, choose the XML Data (XML) format for the data. See Submitting data using a button.

  • Enable form caching to increase the performance of the rendering of a form. When a form is cached, the data is merged into a pregenerated presentation. Forms whose layout adjusts to accommodate data can always be cached. Forms that have a fixed layout can also be cached, but some restrictions apply. For information about the restrictions, see Form caching. For Forms to cache forms that have a fixed layout, you must select the form caching option in Designer for each form you create.

Consider these general tips to improve the performance of non-interactive forms:

  • Avoid validation constructs and other interactive form features, such as data entry validations and edit masks.

    These features cause Forms to render interactive forms. In general, non-interactive forms have a smaller file size than interactive forms and can be rendered more quickly.

    If the form is intended for printing, interactive features provide no added benefit. For example, Designer can generate validation scripts for particular objects for forms that are bound to XML schemas. For interactive forms, these validation scripts ensure that data entered by the user complies with the schema specification. For example, a validation script may check that a value provided for a numeric object is an integer between 4 and 9. Non-interactive forms do not accept user input and, therefore, the validation scripts are not used. Turning off the generation of these scripts improves performance by eliminating the processing to execute them. See Set field generation options.

  • Batch forms for processing.

    When rendering multiple instances of a single form, such as bills for different customers, gather the data for all the instances in a single data file and render the individual forms from this file. This approach is more efficient than processing froms individually. However, when batching different forms, group forms before rendering them. For example, if Invoices and Packing Lists are run at the same time, group and run all the Invoices, followed by all Packing Lists.

// Ethnio survey code removed