パフォーマンスを向上するための一般的なデザイン上の考慮点

様々な要因がパフォーマンスに影響しますが、パフォーマンスを最適化するための主な方法の 1 つは、フォームのファイルサイズをできるだけ小さくすることです。

サーバーがフォームをレンダリングするとき、低速な通信チャンネルでフォームを転送するとき、ニアラインストレージにフォームを保存するとき、またはニアラインストレージからフォームを取り出すときには、フォームのファイルサイズがパフォーマンスに影響します。

フォームのファイルサイズを最小に抑えるには、以下の一般的なヒントを検討してください。

  • 埋め込む必要のあるフォントの使用、特にフィールドオブジェクトでの使用を避けます。埋め込みフォントはサブセット化できません。

  • リンクされた画像ではなく埋め込み画像を使用します。デフォルトでは、画像はリンクされます。画像の埋め込みとリンクの違いについて詳しくは、 この 記事を参照してください。

  • JPEG または GIF などの圧縮画像形式を使用します。

  • 色には、パレット画像またはモノクロ画像を使用します。24 ビットカラー形式の使用は避けます。

  • アクセシブルなフォームの生成はパフォーマンスに影響することに注意してください。

  • フォーム内では最小限の数のオブジェクトを使用し、オブジェクトをできるだけ単純にします。

インタラクティブフォームのパフォーマンスを向上させるには、以下の一般的なヒントを検討してください。

  • Forms にデータを送信するフォームでは、送信データに XML データ(XML)形式を選択します。 ボタンを使用したデータの送信 を参照してください。

  • フォームキャッシングを有効にすると、フォームのレンダリングのパフォーマンスが向上します。フォームをキャッシュすると、そのデータが、事前に生成されているプレゼンテーション内に結合されます。データ量に応じてレイアウトが調整されるフォームは、常にキャッシュできます。固定レイアウトのフォームもキャッシュできますが、制限があります。この制限については、 フォームキャッシング を参照してください。固定レイアウトのフォームを Forms でキャッシュするには、作成する個々のフォームについて、Designer でフォームキャッシングのオプションを選択する必要があります。

非インタラクティブフォームのパフォーマンスを向上させるには、以下の一般的なヒントを検討してください。

  • データ入力の検証や編集マスクといった、検証のための構成要素やその他のインタラクティブなフォーム機能の使用を避けます。

    これらの機能を使用すると、Forms によってインタラクティブフォームのレンダリングが行われます。一般に、非インタラクティブフォームはインタラクティブフォームよりファイルサイズが小さく、より高速にレンダリングできます。

    フォームが印刷を目的とするものである場合、インタラクティブ機能は何も付加利益をもたらしません。例えば、Designer では、XML スキーマに連結されるフォームの特定のオブジェクト用に検証スクリプトを生成できます。インタラクティブフォームでは、これらの検証スクリプトによって、ユーザーが入力したデータがスキーマ仕様に適合することを確認します。例えば、検証スクリプトで、数値オブジェクトに入力された値が 4 ~ 9 の整数であるかどうかをチェックできます。非インタラクティブフォームはユーザー入力を受け付けません。したがって、検証スクリプトは使用されません。これらの検証スクリプトの生成をオフにすると、スクリプトを実行するための処理がなくなるため、パフォーマンスが向上します。 フィールドの生成オプションの設定 を参照してください。

  • 複数のフォームを 1 つにまとめて処理します。

    様々な顧客の請求書など、単一のフォームの複数のインスタンスをレンダリングする場合、すべてのインスタンスのデータを 1 つのデータファイルにまとめ、このファイルから個々のフォームをレンダリングします。この方法は、フォームを個別に処理するよりも効率的です。ただし、異なるフォームを一括処理する場合は、フォームをグループ化してからレンダリングします。例えば、請求書と発送明細票を同時に処理する場合、すべての請求書をグループ化して処理した後、すべての発送明細票を処理します。