画面・帳票サポートシステム XMAP3 開発ガイド


16.8.1 GUI/CUI画面の開発

GUI/CUI画面の開発の定義時のチューニングとAP作成時のチューニングを示します。

〈この項の構成〉

(1) 定義時のチューニング

マップを小さくする方法など,ドローでの画面定義時のポイントを示します。マップを小さくすると,APの実行性能が向上します。

(a) けい線の見直し

不要なけい線や矩形は削除します。

  • 矩形で囲んでさらに反転表示している場合は,反転表示だけにします。

  • 複数のけい線をつなげている場合は,一つのけい線や矩形にします。

(b) テキスト・フィールドの見直し

  • テキスト・フィールドは,まとめて定義します。例えば,「年月日」は,三つに分けないで1フィールドにします。

  • GUI画面で同じ属性のテキストを多数定義する場合には,フィールドボックス中のフィールドとして定義します。

    フィールドにすると,テキストに比べて表示動作が早くなります。

(c) 表示色の見直し

背景色を多数利用すると表示が遅くなります。単一色にできないか見直してください。

(d) 画面サイズの見直し

画面サイズが小さい方が表示性能は高くなります。画面サイズを小さくできないか見直してください。

(e) スクロール付きフィールドボックスの見直し(GUI画面)

ボックス外に隠れているプレーンは,データがなくても表示しています。プレーンのサイズを小さくできないか見直してください。

(f) グラフィックの見直し(GUI画面)

グラフィック用のビットマップはデータ量が多いためマップが大きくなってしまいます。次の点を見直してください。

  • 削除できる不要なグラフィックはないか

  • ビットマップは必要最小限の容量(サイズや色数)になっているか

ビットマップ容量の軽減についての詳細は,「16.8.6 ビットマップ容量を軽減する方法」を参照してください。

(g) APとの制御のやり取りの見直し(GUI画面)

ドローで[入力単位]に「フィールド」または「イベント」を指定すると,オブジェクト単位に制御をやり取りします。この場合,画面単位にAPに制御を渡す方法と比べてオーバーヘッドが大きくなり,フォーカス遷移が遅くなることがあります。

このため,「フィールド」または「イベント」を指定する場合は,オブジェクトの数をできるだけ少なくすることをお勧めします。

(h) 表示している複数の二次ウィンドウを1回の画面入出力操作で閉じたいとき(GUI画面)

複数の二次ウィンドウの表示中には,ボタンやメニューで二次ウィンドウを閉じる操作を何度も実施する必要があります。

この場合,一次ウィンドウの画面属性の[表示形態]に「全面書換」を指定しておくと,再表示時にすべての二次ウィンドウが同時に閉じます。ただし,画面は一瞬消えたあとに表示されるため,ユーザの運用を考慮した上で実用してください。

(2) AP作成時のチューニング

実行性能の高いAPを作成するためのポイントを示します。

(a) データ量の見直し

APで必要なデータだけを送信します。送信するデータの量を減らすと,出力時の性能が向上します。例えば,常にスペースやゼロを送信すると実行時の性能が低下します。

  • データ有無コードで論理マップをクリアする

  • 不要な初期値は指定しない

(b) AP分割の見直し

XMAP3のオープン要求がどのタイミングで出ているかを見直してください。一つのコンパイル単位で最初のTRANSCEIVE,SENDが発行されるとXMAP3のオープンが実行されるため,処理が遅くなります。

AP分割についての詳細は,「16.8.4 AP分割のポイント」を参照してください。

(c) クローズのタイミング

画面のクローズは,明示的にCALL文でクローズするか,DISABLE文を発行したタイミングによって実行されます。

プログラムの構造上,オープン/クローズが頻繁に実行されないための配慮が必要です。

(d) 一部上書と全面書換

APから画面表示をする場合に,一部上書と全面書換をマッピングオプションで使い分けられます。同じ画面の一部のデータを再表示する場合は,一部上書を使うと効果的です。例えば,テキスト・フィールド単位にデータを一つずつ入力して,APでチェックしながら表示していく場合に使用します。

「一部上書」を指定しないと,画面中の一つ(または一部)のフィールドだけを書き換えるときでも,全面置換(全画面の再表示)となり,初期画面表示と同じ表示性能になります。

ただし,「一部上書」を指定して画面表示しても,直前の画面とマップ名が異なる場合は全面書換となります。

一部上書と全面書換についての詳細は,「16.8.5 一部上書/全面書換の方法」を参照してください。