xieperf(1)

名前
xieperf - XIE サーバ拡張のテストとデモ用のプログラム

書式
xieperf [-option ...]

説明
xieperf は X11R5 の x11perf(1) を基にしており、XIE プロトコルを完全に包括してはいないものの(「バグ」 セクション参照)、プロトコルの実装の正しさと性能に関して、XIE の実装の 評価に役立てることを目的にしている。 xieperf プログラムはプロトコルリクエストと XIE プロトコルのリビジョン 5.0 で定 義された photoflo 要素をそれぞれ実行するテストを含む。さらに、 xieperf は、FloMatch, FloValue 等の XIE プロトコルリクエストのエラーの発見や伝 達を確認するために使うテストの集合を与える。最後に、 xieperf は、カスタマイズ可能 なXIE のデモプログラムにもなる。

テストは順に実行される3つのコンポーネント、すなわち初期化関数、テスト 関数、終了関数からなる。初期化関数は、フォトマップや LUT 等のテストの リソースを確保し、割り当てる責任や、テスト関数が実行する格納される photoflo を生成する責任を負う。テスト関数はほとんどの場合、格納された photoplo を単に指定された回数だけ実行する。 終了関数は主として、キャッシュできない全てのサーバリソースを破棄し、ク ライアントに動的に割り当てられた全てのメモリを解放するために使われる。 この終了関数はテスト関数の後に呼び出される。テストによっては(-modify1, -await, -abort, -redefine 等)、テスト関数の内部ループ内で追加のステッ プを実行する。これはテストされる要素の要求に応じるためや、テストの見栄 えを良くするために行われる。

個々の XIE 要素の性能の評価は、コアの X リクエストの描画時間の測定ほど 単純ではない。XIE プロトコルは要素を試すためにこれを photoflo に埋め込 むが、photoflo の最小のサイズは2である。これは、1つの要素の単独の性能 を測定することが不可能であるということである。flo の実行にかかる時間は、 flo 内に入っている他の要素に依存する。flo 内の1つの要素の性能(または技 術)の推定は、ケースバイケースの原則に則って注意深く行わなければならな い。なぜなら、一般には測定される要素の性能は入力するイメージのサイズ、 データのタイプやその他の要因に依存するし、これらは全て前の flo 要素の 影響を受けるからである。また、flo 内の要素の数とタイプはディスプレイ上 で利用可能なビジュアルの影響を受けるため、ビジュアルの異なるマシン上で の flo-flo 比較は注意して行わなければならない点に注意すること。

テスト名の多くにはパイプライン記述の省略形が含まれる。例えば、 IP/IL/P/ED はそれぞれ ImportPhotomap, ImportLUT, Point, ExportDrawable である。ED(ExportDrawable)で終わるパイプラインは、flo の出力をスクリー ンのビジュアルにマッチさせるための BandExtract, ConvertToIndex, Dither, Point のような隠された要素を含むことが多い。EP(ExportPhotomap) で終わるパイプラインの結果はブランクウィンドウとなる。

xieperf は x11perfcomp(1) と互換である。 このプログラムは異なる xieperf や x11perf の出力を比較し、わかりやすい表の形式で出力する。 xieperf において正しい出力を得るには、-label オプション(「オプション」セクショ ンを参照)を用い、得られたラベルファイルを x11perfcomp(1) に与える必要がある。 詳しくは x11perfcomp(1) のオンラインマニュアルを参照すること。

オプション
xieperf には以下のオプションを指定することができる:

-display host:dpy
    使用するディスプレイを指定する。

-images <path>
    通常は xieperf はディレクトリ ``images'' にあるイメージファイルを参照する。 xieperf はこのディレクトリはカレントディレクトリにあるものと想定する。 カレントディレクトリに ``images'' ディレクトリがない場合や、ファイル名 が変わった場合には、このオプションを使ってその場所を指定すること。

-timeout <s>
    テストによっては実行を続けるために FloNotify 等のイベントを受け取る必 要があり、これらのイベントを受け取れないと xieperf がハングしてしまう。このオプションを使うとタイムアウト値を指定すること ができる。この時間を過ぎると、 xieperf はイベントを待つのをあきらめて次の順番のテストを続ける。イベントがタイ ムアウトすると、警告メッセージが標準エラー出力に出力される。デフォルト のタイムアウト値は60秒である。

-sync
    テストを同期モードで実行する。

-script <file>
    このオプションを用いると、ユーザは利用可能なテストのサブセットを実行す ることができ、個別のテストが実行される回数を制御することができる。この 機能は xieperf をデモに使うときに特に便利だと思われる。このオプションを使うと、 xieperf はスクリプトファイル内で指定されたコマンドを読み込む。ただし、 <file> に ``-'' を指定した場合には標準入力から読み込む。 テストは改行句切りで "command [-reps n ] [ -repeat m ]" という形式の入 力行で記述される。"#" 以降の文字はコメントとして扱われる。-mkscript オ プションを参照すること。

-repeat <n>
    それぞれのテストを n 回繰り返す(デフォルトでは、それぞれのテストは2回実行される)。このオプ ションもスクリプトファイルで使うことができる。この場合、スクリプトファ イル内での -repart の指定は、コマンドラインオプションでの指定を上書き する。

-time <s>
    それぞれのテストが何秒間実行されるかを指定する(デフォルトでは5秒間)。

-depth <depth>
    ピクセルごとに <depth> プレーンを持つビジュアルを使用する(デフォルト値 はデフォルトのビジュアルである)。

-GrayScale
    GrayScale ビジュアルを使用する(デフォルト値はデフォルトのビジュアルで ある)。

-PseudoColor
    PseudoColor ビジュアルを使用する(デフォルト値はデフォルトのビジュアル である)。

-StaticGray
    StaticGray ビジュアルを使用する(デフォルト値はデフォルトのビジュアルで ある)。

-StaticColor
    StaticColor ビジュアルを使用する(デフォルト値はデフォルトのビジュアル である)。

-TrueColor
    TrueColor ビジュアルを使用する(デフォルト値はデフォルトのビジュアルで ある)。

-DirectColor
    DirectColor ビジュアルを使用する(デフォルト値はデフォルトのビジュアル である)。

-WMSafe
    xieperf をウィンドウマネージャ環境で実行しなければならないときには、このフラグ を用いて xieperf をウィンドウマネージャ対応にすること。このオプションを指定すると、 xieperf はルートウィンドウと同じサイズのウィンドウを生成し、それ以降 xieperf が生成するウィンドウはこのウィンドウの子ウィンドウである一時的なポップ アップウィンドウとなる。このフラグを省略すると、 xieperf は全てのウィンドウの override_redirect 属性に ``True'' をセットし、 XInstallColormap のような行儀の悪い操作を行う。 このオプションを使用すると、ウィンドウマネージャは xieperf が指定したウィンドウのジオメトリのヒントに(たぶん)従う。

-showtechs
    技術の包括的なリストをカテゴリー別に表示し、XIE サーバがサポートしてい る技術を示す。

-showlabels
    テストのコードを呼び出す前に、テストのラベルをスクリーンに表示する。こ れによって、テストが何らかの理由でハングするような場合に、ユーザは実行 されているテストを知ることができる。

-showevents
    イベントとエラーのテストの際に詳しい出力を行う。 また、 xieperf の実行中に受け取ったシグナルの捕捉と情報の表示を行うためにも利用できる。 このフラグはデバッグのとき、または新しいプラットフォームで初めてテスト を行う際に xieperf が受け取ったエラーイベントが正しいことを検証するときに最も役立つ点に注 意すること。

-events
    イベント生成を調べるテストを実行する。

-errors
    エラーイベント生成を調べるテストを実行する。

-loCal
    テストのキャリブレーションをスキップする。これは実行のタイミングが重要 でない場合に用いる。このオプションが有効であるとき、 xieperf を実行した時間を通知しない。これに加えて、内部ループの繰り返し回数は5に セットされる(ただし、これは -reps オプションで上書きされる)。

-all
    全てのテストを実行する。この場合は、マシンの速度と浮動小数点の計算能力 によって時間がかかることがある。スクリプトファイルを用いると、このオプ ションは無視される。

-tests
    xieperf で利用できるテストのリストを生成する。 x11perf の場合には、普通はこのリストは使用方法と一緒に表示される。しかし、 xieperf ではこのリストが長くなりすぎるために、異なる仕様にされている。

-mkscript
    -script オプションで利用できるスクリプトファイルを生成する。-repeat ま たは -reps オプションも指定した場合、これらのオプションはスクリプト内 の各コマンドの末尾に自動的に追加される。スクリプトは標準エラー出力に出 力される。前述の -script を参照すること。

-cache <n>
    テスト flo の大部分は、入力対象にはフォトマップを利用する。テストの初 期化の途中にこれらのイメージを常に再読み込みするのを避けるため、 xieperf は n エントリまでのフォトマップのキャッシュを制御する。 デフォルトのキャッシュのサイズは4である。デフォルト値より小さい値が指 定されても、キャッシュのサイズにはデフォルト値がセットされる。

-labels
    指定したそれぞれのテストに対し、説明のラベルを付ける。含めるテストは -all または -range オプションで指定すること。詳しくは x11perfcomp(1) を参照すること。

-DIS
    DIS のみが可能な XIE の実装に接続するときに、 xieperf を実行しているように見せかける。これにより、 xieperf は、XIE の DIS サブセットに含まれるプロトコルリクエストのみを使うテス トを実行し、DIS 互換でないテストは無視する。 xieperf が DIS サーバを見つけた場合はこれは自動的に行われ、このオプションは無 視される。 テスト範囲の初期値を指定するには -all または -range オプションを用いる こと。

-range <test1>[,<test2>]
    指定された名前 test1 から test2 までの全てのテストを実行す る。イベントやエラーテストなど、-errors や -events オプションの指定が 必要なテストもある。スクリプトが使われた場合、このオプションは無視され る。

-reps <n>
    内部ループの繰り返しを n 回に固定する。このオプションは、テストが実行 されるたびに行われる photoflo の回数を指定する。スクリプト中で指定され た場合、このオプションよりもテスト毎に1度という原則が優先される。通常 は、 xieperf はテストのキャリブレーションの段階で理想的な繰り返し回数を決める。

-ImportObscuredEvent through -ExportAvailable
    イベントをテスト生成する。-events オプションが必要である。

-BadValue through -FloValueError
    エラーをテスト生成する。-errors オプションが必要である。 -ColorList ColorList リソースの生成と破棄のテスト。

-LUT
    LUT リソースの生成と破棄のテスト。

-Photomap
    Photomap リソースの生成と破棄のテスト。

-ROI
    ROI リソースの生成と破棄のテスト。

-Photospace
    Photospace の生成と破棄のテスト。

-Photoflo
    Photoflo の生成と破棄のテスト。

-QueryPhotomap
    Photomap リソースの問い合わせのテスト。

-QueryColorList
    ColorList リソースの問い合わせのテスト。

-QueryTechniquesDefault 〜 -QueryTechniquesWhiteAdjust
    テスト名で指定された技術を問い合わせる。

-QueryPhotoflo
    photoflo の問い合わせのテスト。

-PurgeColorList
    PurgeColorList のテスト。

-Abort
    このテストは、実行されると PutClientData() が与えるデータをブロックす る photoflo を生成する。このテストはデータを送らないで、XieAbort() を 送って photoflo を止め、その後サーバから PhotofloDone イベントが送ら れてくるのを待つ。このテストがイベント待ちでタイムアウトした場合、エラー メッセージが標準エラー出力に送られる。

-Await
    このテストは、ImportClientLUT -> ExportLUT の形式の flo を生成し、flo の実行を開始する。 次に xieperf は fork を行い、子プロセスは LUT データを PutClientData を用いている flo に送る。この間、親プロセスは XieAwait をブロックする。flo が正常終 了した場合には、XieAwait は復帰し、問い合わせの後は flo の状態はこれが 完了したことを示す。XieAwait が自然に終了しなかった場合や XieAwait の 後に flo が依然アクティブである場合には、エラーが標準エラー出力に出力 される。非常に遅いマシンでは、flo が終わる機会もないうちに XieAwait が 復帰してしまうこともあり得る点に注意すること。このような場合には、 -timeout オプションを使って、このテストにおけるタイムアウト値を増やす こと。

-importclientlut1
    ImportClientLUT -> ExportLUT のテスト。

-importclientphoto1 〜 -importclientphoto9
    様々なデコード技術(例: G32D, TIFF2, UncompressedTriple 等)を用いた ImportClientPhoto -> ExportPhotomap の形式の flo.

-importclientroi1
    10個の長方形での ImportClientROI。

-importclientroi2
    100個の長方形での ImportClientROI。

-encodephoto1 〜 -encodephoto14
    様々なエンコード技術(例: G32D, TIFF2, UncompressedTriple 等)を用いた ImportPhotomap -> ExportPhotomap の形式の flo. エンコーディング元が左のウィンドウに表示され、エンコーディングの後のイ メージが右のウィンドウに表示される。

-encodeclientphoto1 〜 -encodeclientphoto11
    ImportPhotomap -> ExportClientPhoto の形式の flo と ImportClientPhoto -> ExportPhotomap の形式の flo. ここで、 最初の flo の ExportClientPhoto は様々なエンコード技術を用いている(例: G32D, TIFF2, UncompressedTriple 等)。エンコード前のイメージが左のウィ ンドウに表示され、右のウィンドウは最初の flo でエンコードされ、2番目の flo で読み直したイメージを表示する。

-exportclientlut1
    ExportClientLUT のテスト。LUT はヒストグラムウィンドウに表示される。

-exportclientroi1
    10 個の ROI で ExportClientROI のテストを行う。サーバに送られる ROI は 塗りつぶされた長方形で表される。クライアントによってサーバから返される ROI は、塗りつぶされておらず、白い境界を持つ長方形として描画される。 10 個の ROI で ExportClientROI のテストを行う。サーバに送られる ROI は 塗りつぶされた長方形で表される。クライアントによってサーバから返される ROI は、塗りつぶされておらず、白い境界を持つ長方形として描画される。 得られる出力は、サーバが送られてきた長方形をどのように結合したかを示す。

-exportclientroi2
    100 個の長方形を用いる点以外は、exportclientroi1 と同じである。

-exportclienthistogram1 〜 -exportclienthistogram4
    様々なイメージを用いた ExportClientHistogram のテスト。ヒストグラムは イメージと重なるウィンドウ内に表示される。

-exportclienthistogramroi1 〜 -exportclienthistogramroi4
    ExportClientHistogram テストとほぼ同じであるが、注目する領域を識別する ために ROI を用いる。

-exportclienthistogramcplane1 〜 -exportclienthistogramcplane4
    ExportClientHistogram テストとほぼ同じであるが、注目する領域を識別する ために制御プレーンを用いる。

-importlut1
    ImportLUT 要素のテスト。LUT のサイズは 256 である。

-importphoto1
    入力対象と描画対象が同じである ImportPhotomap -> ExportPhotomap.

-importphoto2
    ウィンドウを描画対象とした ImportPhotomap -> ExportDrawable.

-importroi1
    ImportROI -> ExportROI. 長方形は10個であり、入力対象と描画対象の ROI は同じである。

-importroi2
    ImportROI -> ExportROI. 長方形は100個であり、入力対象と描画対象の ROI は同じである。

-importdrawable1
    ImportDrawable -> ExportDrawable. 入力対象はピックスマップであり、描画 対象はウィンドウである。

-importdrawable2
    ImportDrawable -> ExportDrawable. 入力対象も描画対象もウィンドウである。

-importdrawable3
    ImportDrawable -> ExportDrawable. 描画対象のウィンドウは入力対象のウィ ンドウに隠されている。

-importdrawable4
    ImportDrawable -> ExportDrawable. 入力対象ウィンドウは描画対象のウィン ドウに隠されている。

-importdrawable5
    ImportDrawablePlane -> ExportDrawablePlane. ピックスマップを用い、 入力と描画対象は同じである。

-importdrawable6
    ImportDrawablePlane -> ExportDrawablePlane. ウィンドウを用い、入力対象 と描画対象は同じである。

-importdrawable7
    ImportDrawablePlane -> ExportDrawablePlane. ウィンドウを用い、入力対象 は描画対象を隠している。

-importdrawable8
    ImportDrawablePlane -> ExportDrawablePlane. ウィンドウを用い、描画対象 は入力対象を隠している。

-constrain1
    Constrain HardClip 技術のテスト。描画対象はドロウアブルである。

-constrain2
    Constrain ClipScale 技術のテスト。描画対象はドロウアブルである。

-constrainphoto1
    Constrain HardClip 技術のテスト。描画対象はフォトマップである。

-constrainphoto2
    Constrain ClipScale 技術のテスト。描画対象はフォトマップである。

-convolve1
    Boxcar の 3x3 のたたみ込みのテスト。スムーシングつまりローパスフィルタ を使う。

-convolve2
    Boxcar の 5x5 のたたみ込みのテスト。スムーシングつまりローパスフィルタ を使う。

-convolve3
    LaPlacian の 3x3 のたたみ込みのテスト。エッジ検出つまりハイパスフィル タを使う。

-convolve4
    LaPlacian の 4x4 のたたみ込みのテスト。エッジ検出つまりハイパスフィル タを使う。

-convolveroi1
    LaPlacian の 3x3 のたたみ込みのテスト。ROI を用いる。

-convolveroi2
    LaPlacian の 5x5 のたたみ込みのテスト。ROI を用いる。

-convolvecplane1
    LaPlacian の 3x3 のたたみ込みのテスト。制御プレーンを用いる。

-convolvecplane2
    LaPlacian の 5x5 のたたみ込みのテスト。制御プレーンを用いる。

-math1 〜 -mathcplane7
    Math 要素を試すさまざまなテスト。ROI や制御プレーンを使うテストもある。

-arithmeticdyadic1 〜 -arithmeticdyadic5
    算術要素のテスト。フォトマップをオペランドとして用いる。

-arithmeticmonadic1 〜 -arithmeticmonadic9
    算術要素のテスト。フォトマップと定数をオペランドとして用いる。

-arithmeticdyadicroi1 〜 -arithmeticdyadicroi5
    算術要素のテスト。フォトマップをオペランドとして用い、ROI と組み合わせ る。

-arithmeticmonadicroi1 〜 -arithmeticmonadicroi9
    算術要素のテスト。フォトマップと定数をオペランドとして用い、ROI と組み 合わせる。

-arithmeticdyadiccplane1 〜 -arithmeticdyadiccplane5
    算術要素のテスト。フォトマップをオペランドとして用い、制御プレーンと組 み合わせる。

-arithmeticmonadiccplane1 〜 -arithmeticmonadiccplane9
    算術要素のテスト。フォトマップと定数をオペランドとして用い、制御プレー ンと組み合わせる。

-arithmeticfloatdyadic1 〜 -arithmeticfloatdyadic5
    算術要素のテスト。フォトマップをオペランドとして用い、制約は与えない。

-arithmeticfloatmonadic1 〜 -arithmeticfloatmonadic9
    算術要素のテスト。フォトマップと定数をオペランドとして用い、制約は与え ない。

-arithmeticroifloatdyadic1 to -arithmeticroifloatdyadic5
    算術要素のテスト。フォトマップをオペランドとして用い、ROI と組み合わせ、 制約は与えない。

-arithmeticroifloatmonadic1 to -rithmeticroifloatmonadic9
    算術要素のテスト。フォトマップと定数をオペランドとして用い、ROI と組み 合わせ、制約は与えない。

-band1
    BandSelect 要素のテスト。入力イメージは3つのバンドである。 xieperf のウィンドウのビジュアルがカラーのビジュアルならば、個々のバンドを抽出 するために 3つの BandSelect 要素が用いられ、これらは BandCombine を用 いて再び結合され、ConvertToIndex を使って表示される。ビジュアルがカラー でなければ(つまり、GrayScale または StaticGray)、flo は表示のために単 に1つのBandSelect要素を使って1つのバンドを抽出する。

-band2
    BandCombine のテスト。入力バンドは3つの別々の、バンドが1つのフォトマッ プからなる。これらは BandCombine 要素を用いて結合される。その後に、 BandExtract と ExportDrawable が行われる。CCIR 601-1 係数を使う。

-band3
    BandExtract のテスト。入力は3つのバンドを持つフォトマップである。CCIR 601-1 係数を使う。 描画対象のカラーマップはグレー階調である。

-band4
    BandExtract のテスト。入力は3つのバンドを持つフォトマップである。CCIR 601-1 係数を使う。 描画対象のカラーマップは、RGB_BEST_MAP の標準カラーマップである。

-band5
    BandExtract のテスト。入力は3つのバンドを持つフォトマップである。CCIR 601-1 係数を使う。 描画対象ウィンドウのカラーマップは、RGB_DEFAULT_MAP の標準カラーマップ である。

-comparedyadic1 〜 -comparedyadic6
    dyadic フォトマップをオペランドとした、様々な Compare 演算子のテスト。

-comparemonadic1 〜 -comparemonadic6
    フォトマップ、定数をオペランドとした、様々な Compare 演算子のテスト。

-compareroidyadic1 〜 -compareroidyadic6
    ROI を用い、dyadic フォトマップをオペランドとした、様々な Compare 演算 子のテスト。

-compareroimonadic1 〜 -compareroimonadic6
    ROI を用い、フォトマップと定数をオペランドとした、様々な Compare 演算 子のテスト。

-comparecplanedyadic1 〜 -comparecplanedyadic6
    制御プレーンを用い、dyadic フォトマップをオペランドとした、様々な Compare 演算子のテスト。

-comparecplanemonadic1 〜 -comparecplanemonadic6
    制御プレーンを用い、フォトマップと定数をオペランドとした、様々な Compare 演算子のテスト。

-matchhistogram1 〜 -matchhistogram18
    様々なイメージとヒストグラムマッチング技術を用いた、MatchHistogram 要 素のテスト。

-matchhistogramroi1 〜 -matchhistogramroi6
    MatchHistogram 要素のテストの抜粋。ROI を用いる。

-matchhistogramcplane1 〜 -matchhistogramcplane6
    MatchHistogram 要素のテストの抜粋。制御プレーンを用いる。

-unconstrain1
    ImportPhotomap, Unconstrain, Constrain(ClipScale), ExportDrawable のテ スト。

-pasteup1 〜 -pasteup2
    PasteUp 要素のテスト。

-geometry1 〜 -geometry14
    回転、拡大・縮小、対象変換を含む Geometry 要素のテスト。 NearestNeighbor 技術を用いる。

-geometry15 〜 -geometry28
    回転、拡大・縮小、対象変換を含む Geometry 要素のテスト。 AntiAlias 技術を用いる。

-geometry29 through -geometry42
    回転、拡大・縮小、対象変換を含む Geometry 要素のテスト。 BilinearInterpolation 技術を用いる。

-geomg31dscale1 〜 -geometryfaxradio1
    様々な FAX デコーダと Geometry 要素を試すテスト。

-dither1
    ディザのテスト。ErrorDiffusion ディザ技術を用いる。ExportDrawable を使 う。

-dither2
    ディザのテスト。ErrorDiffusion ディザ技術を用いる。ExportDrawablePlane を使う。

-dither3
    ディザのテスト。Ordered(4) ディザ技術を用いる。ExportDrawable を使う。

-dither4
    ディザのテスト。Ordered(4) ディザ技術を用いる。ExportDrawablePlane を 使う。

-dither5
    ディザのテスト。Ordered(8) ディザ技術を用いる。ExportDrawable を使う。

-dither6
    ディザのテスト。Ordered(8) ディザ技術を用いる。ExportDrawablePlane を 使う。

-dither7
    ディザのテスト。デフォルトのディザ技術を用いる。ExportDrawable を使う。

-dither8
    ディザのテスト。デフォルトのディザ技術を用いる。ExportDrawablePlane を 使う。

-logicalmonadic1 〜 -logicalmonadic16
    論理要素のテスト。フォトマップと定数0をオペランドとして使う。 様々な演算子を使用。

-logicaldyadic1 〜 -logicaldyadic16
    論理要素のテスト。dyadic フォトマップをオペランドとして使う。様々な演 算子を使用。

-logicalmonadicroi1 〜 -logicalmonadicroi16
    論理要素のテスト。フォトマップと定数0をオペランドとして使う。 様々な演算子、ROI を使用。

-logicaldyadicroi1 〜 -logicaldyadicroi16
    論理要素のテスト。dyadic フォトマップをオペランドとして使う。様々な演 算子、ROI を使用。

-logicalmonadiccplane1 〜 -logicalmonadiccplane16
    論理要素のテスト。フォトマップと定数0をオペランドとして使う。 様々な演算子、制御プレーンを使用。

-logicaldyadiccplane1 〜 -logicaldyadiccplane16
    論理要素のテスト。dyadic フォトマップをオペランドとして使う。様々な演 算子、制御プレーンを使用。

-blend1
    Blend 要素のテスト。Monadic を入力対象とし、入力定数は 0.1 である。 アルファ定数は 0.5 である。

-blend2
    Blend 要素のテスト。Dyadic を入力対象とする。アルファ定数は 0.5 である。

-blendroi1
    Blend 要素のテスト。Monadic を入力対象とし、入力定数は 0.1 である。 アルファ定数は 0.5 である。ROI を使用する。

-blendroi2
    Blend 要素のテスト。Dyadic を入力対象とする。アルファ定数は 0.5 である。 ROI を使用する。

-blendcplane1
    Blend 要素のテスト。Monadic を入力対象とし、入力定数は 0.1 である。 アルファ定数は 0.5 である。制御プレーンを使用する。

-blendcplane2
    Blend 要素のテスト。Dyadic を入力対象とする。アルファ定数は 0.5 である。 制御プレーンを使用する。

-blendalpha1
    Blend 要素のテスト。Monadic を入力対象とし、入力定数は 220 である。 アルファプレーンはフォトマップである。

-blendalpha2
    Blend 要素のテスト。Dyadic を入力対象とする。アルファプレーンは定数 220 である。

-blendalpharoi1
    Blend 要素のテスト。Monadic を入力対象とし、入力定数は 220 である。 アルファプレーンはフォトマップである。ROI を使用する。

-blendalpharoi2
    Blend 要素のテスト。Dyadic を入力対象とする。アルファプレーンは定数 220 である。ROI を使用する。

-triplepoint1 〜 -triplepoint2
    点の使用と3つのバンドを持つイメージの描画のための標準カラーマップを描 く。

-funnyencode1 〜 -funnyencode8
    これらのテストは、flo の入力対象データを様々にエンコードする XIE の機 能を制限つきで試すために設計されている。テストの初期化関数は、ICP -> EP を用いてフォトマップを取得する。ずっと続く flo の独立なペアの列が生 成される。ペアの一方は IP -> EP の形であり、もう一方は基本形の IP -> ED である。最初の flo の ExportPhotomap (EP) 要素に対するエンコー ディングのパラメータはテストの構成から求められる。flo のペアの数も、テ ストの構成から求められる。テストは、テストの初期化関数は、基本的にはバ ンドごとに、入力のフォトマップを指定された数のレベルに制限するように構 成することができる。また、ワード長のピクセルや、4倍長のピクセルが flo を通じて渡されるように構成することができる。後述のテストのいくつかは、 この利点を生かすことができる。テストの構成と、同様のテストを追加する方 法については、tests.c を参照すること。

-point1 〜 -point3
    Simple Point 要素のテスト。描画対象はドロウアブルである。 -pointroi1 ROI を用いた Simple Point 要素のテスト。描画対象はドロウアブルである。

-pointcplane1
    制御プレーンを用いた Simple Point 要素のテスト。描画対象はドロウアブル である。

-pointphoto1
    Simple Point 要素のテスト。描画対象はフォトマップである。

-pointroiphoto1
    ROI を用いた Simple Point 要素のテスト。描画対象はフォトマップである。

-pointcplanephoto1
    制御プレーンを用いた Simple Point 要素のテスト。描画対象はフォトマップ である。

-redefine
    2つの flograph を生成する。これらは同じ構造体であり、ExportDrawable flo 要素の x, y オフセットの指定が期待される。テストの初期化関数は1つ または2つの flograph に基づいて photoflo を生成する。 テスト関数の内部ループでは、flograph のそれぞれを切替えるために XieRedefinePhotoflo() が使われる。このテストを完全に行うために、必ず2 回以上ループを繰り返すこと(-reps オプションを参照)。

-modify1
    ROI のオフセットとサイズの調整による XieModifyPhotoflo() のテスト。

-modify2
    LUT 入力を Point 要素に変えることによる XieModifyPhotoflo() のテスト。

-modify3
    ExportDrawable の x, y オフセットを変更することによる XieModifyPhotoflo() のテスト。

-modify4
    このテストは比較的長い算術要素の flo を生成する。それぞれの flo は小さ いイメージに 1 を加えるだけである。このテストの初期化関数は、入力のフォ トマップを拡大・縮小する。ExportDrawable の x, y オフセットは、テスト 関数の内部ループのそれぞれの繰り返しの間にランダムに変更される。

-modify5
    このテストは比較的長い算術要素の flo を生成する。それぞれの flo は大き いイメージに 1 を加えるだけである。それぞれの繰り返しにおいては、flo の最後の Geometry 要素と ExportDrawable 要素は変更され、入力の小さい断 片は切りとられて大きいイメージの適切な位置に配置される。

-rgb1 〜 -rgb16
    これらのテストは基本的に UncompressedTriple イメージを入力とし、これを イメージを何らかの設定をされた色空間へと変換する ConvertFromRGB に送り、 そして変換されたイメージを表示する前に ConvertToRGB に送る。元のイメー ジは左側のウィンドウに表示され、flo 経由で渡されたイメージは右側のウィ ンドウに表示される。このテストの目的は、ConvertFromRGB -> ConvertToRGB で情報が失われないことを示すことである。

-converttoindexpixel
    ConvertToIndex のテスト。TripleBand BandByPixel を用いる。

-converttoindexplane
    ConvertToIndex のテスト。TripleBand BandByPlane を用いる。

-convertfromindex
    このテストの初期化関数は ConvertToIndex を持つ flo を使ってイメージを 左のウィンドウに表示する。テスト関数は、このドロウアブルを ConvertFromIndex -> ConvertToIndex を行う flo への入力として用い、結果 として得られたイメージを右のウィンドウに送る。得られた結果において情報 が失われていてはならない。

-complex
    制御プレーン、LUT, Point, PasteUp, Logical, Constrain, Dither, Geometry, MatchHistogram, BandCombine, BandSelect 要素を持つ比較的大き い flo のテスト。実行される fhotoflo については、Postscript ファイル ''complex.ps'' を参照すること。

X のデフォルト値
このプログラムは X のデフォルト値は全く使用しない。

関連項目
X(1), x11perf(1), x11perfcomp(1)

バグ
-images オプションと同等の指定ができる環境変数 IMAGES が存在すべきであ る。

多くのテストは、行い得るテストを表面的になぞっただけである。 flo 要素に対して指定可能なオプションの一部は、テストが不十分であったり、 全く無視されていたりする。 ビットについてのテスト、大きなピクセルについてのテスト、3つのバンドの テストについては不十分である。

テスト名の一部については、大文字・小文字の使いかたが矛盾している(例: -Abort と -dither1)。

一部のテストは、FPU が遅いマシンで実行すると絶望的に遅い。

大部分ではビット単位のイメージは、ExportDrawable 要素を使って表示され ている。しかし、ExportDrawablePlane を使う方が良いだろう。

著者
Syd Logan, AGE Logic, Inc.