HTMLビューアの表示やスクロールが遅いです。解決策はないでしょうか。
HTMLビューアのデフォルト表示形式は「ベクター表示」です。キャッシュデータをベクターデータ(座標情報)として作成します。クライアントはベクターデータをもとに、クライアントマシン上で表示用描画データの生成を行います。
クライアントマシン上で描画データの生成処理を行うため、ActiveXビューアよりもマシンリソースを多く消費します。
また、setMaximumRasterDimensionで画像解像度を高く設定している場合は、より描画処理に時間がかかります。(お使いのブラウザ種別によっても変わります)
この場合は、いくつかの解決策があります。いずれもAPIを使用してレンダリングに関する設定値を調整します。
- ベクター表示のまま、妥協できるところまで解像度を落とす
setMaximumRasterDimensionで指定する画像解像度を許容できる範囲で低く設定します - 読み込み対象とするページ数を調整する
下記メソッドにて、一度にビューアに読み込むページ数を減らします
DocumentConfig.setPreLoadPageCount(ページ数);
下記メソッドにて、スクロール時に読み込み対象とするページ数を減らします
htmlConfig.set(Application.MAX_CACHE_SIZE, ページ数); - 単一ページレイアウトを使用する
1ページずつしか表示できないようにすることで、クライアントマシンの負荷を減らします
UIConfig.setSinglePageLayout(true/false); - 表示方式をベクターからラスター形式に切り替える
ドキュメント全体を画像として扱うことで、クライアントマシン上の描画処理を発生しないようにします
UIConfig.setRasterRenderer(true);
※バージョン16EP7Update2以上をご使用の場合、「HTMLビューアチューニングガイド」に詳しい表示チューニングについてまとめておりますのでご覧ください。それ以前のバージョンには付属しておりませんので、詳細はカスタマーサポートにお尋ねください。