=========================================================================== 環境固有の問題点および解決方法など 2000年6月 Masa(川瀬 正樹) E-Mail: masa@daionet.gr.jp URL : http://www.daionet.gr.jp/~masa =========================================================================== ■■ 目次 ■■ ● トラブル・シューティング  ・ほとんど時計の輪郭しか見えない/時計がまったく見えない  ・woodclock, marbleclock, mwclock の描画で、大理石模様が消える   (白地に細かい模様が入ったようになる)  ・woodclock, marbleclock, mwclock の時計が、黒光りしたようになる  ・woodclock, marbleclock, mwclock で、時計にノイズのようなものが現れる  ・woodclock, marbleclock, mwclock で、文字盤に映り込んだ壁に三角形が現れる  ・metalclock, chromeclock, woodclock, marbleclock, mwclock の描画で、   表示が明らかにおかしい、もしくはエラーが発生する  ・スーパサンプリング系のエフェクトが効かない、もしくはエラーが発生する  ・metalclock, chromeclock, woodclock, marbleclock, mwclock で不自然に速度が   低下する  ・エラーメッセージが鬱陶しい ● 既知の問題点および制限  ・3DLabs PERMEDIA2  ・3Dfx OpenGL Beta 2.1  ・3Dfx Quake III Compatible Driver  ・Mesa Voodoo driver  ・Mesa 3D Graphics Library  ・nVIDIA Riva 128 / ZX  ・nVIDIA Riva TNT シリーズ  ・nVIDIA GeForce 256 シリーズ  ・S3 Savage2000  ・Matrox G400 ---------------------------------------------------------------------------- ■■ トラブル・シューティング ■■ 下記のような現象が発生した場合の解決方法です。 ただし、必ず直るとは限りません。 オプションを追加する場合、Windows 環境では、makeshort.exe 実行時に 「Common options」に追加するか、glclock launcher の「任意の追加オプション」に 追加すれば OK です。 問題が発生した際、それを何らかのオプション指定によって回避できた場合は、 是非、その環境、現象、追加したオプションなどをお知らせください。 下記に該当する現象(まったく同じ内容)でもお願いします。 可能であれば、今後のバージョンリリース時に、自動設定に組み込みます。  ● ほとんど時計の輪郭しか見えない/時計がまったく見えない   環境によってはフォグ計算にバグがあり、フォグがかかり過ぎて時計がほとんど   見えなくなる、もしくはまったく見えなくなることがあります。   実行中 q / w / e / r キーでフォグモードをいろいろと切り替えてみてください。   これで直るモードがある場合は、   -fog オプションで、あらかじめ正常に描画できるモードを選んで起動してください。   Mesa 3D Graphics Library では、指数フォグ(e / r キーまたは -fog 2 / 3)が、   S3 Savage2000 では、線形フォグ(デフォルト:w キーまたは -fog 1)がおかしく   なるようです。  ● woodclock, marbleclock, mwclock の描画で、大理石模様が消える    (白地に細かい模様が入ったようになる)   正確には -r 1 もしくは -r 2 オプションと、-D オプションを同時に指定した   場合です(glclock -r 2 -D など)。   おそらく特定のブレンドファクタがサポートされていなことが原因です。   -db 1   を追加して実行してみてください。   環境によってはこれで改善される可能性があります(ほとんどの環境では無理)。   -db 1 でまったく改善されない場合は、   -NO_MULTI   を追加して実行してください(ただし -D オプションが無効になります)。  ● woodclock, marbleclock, mwclock の時計が、黒光りしたようになる   正確には -r 1 もしくは -r 2 オプションを指定した場合です。   おそらく、特定のブレンドファクタがサポートされていなことが原因です。   -NO_ADDSMOOTH   を追加して実行してみてください。  ● woodclock, marbleclock, mwclock で、時計にノイズのようなものが現れる   正確には -r 1 もしくは -r 2 もしくは -s 3 オプションを指定した場合です。   -z 0.1   を追加して実行してください。   軽減されるだけで完全に直らない場合は、-z に与える値を 1.0 程度まで(完全に   直る値まで)大きくしてみてください。  ● woodclock, marbleclock, mwclock で、文字盤に映り込んだ壁に三角形が現れる   正確には、-r 1 もしくは -r 2 オプションと、-R オプションを同時に指定した   場合です(glclock -r 2 -R など)。   -NOA   を追加して実行してください。  ● metalclock, chromeclock, woodclock, marbleclock, mwclock の描画で、    表示が明らかにおかしい、もしくはエラーが発生する   正確には、3ユニット以上のマルチテクスチャ機能を利用できる環境で、   -r 2 オプションと、-D オプションを同時に指定した場合です  (glclock -r 2 -D など)。   マルチテクスチャブレンディングが正常に行われていない可能性があります。   -maxtexunit 2   を追加してみてください。   Mesa 3D Graphics Library のコンパイル時の設定(config.h)でマルチテクスチャ   のステージ数が3以上に設定されていると(デフォルトは2ステージ)、   -maxtexunit 2   でも改善されないようです。   該当する環境では、   -maxtexunit 1 または NO_multitex として、マルチテクスチャ自体を禁止して   みてください。  ● スーパサンプリング系のエフェクトが効かない、もしくはエラーが発生する   スーパサンプリング系(-a, -m, -f オプションや、実行中に 'a', 'm', 'd' キー)   のエフェクトをかけた場合です。   何も変化がなかったり、エラーが発生したりする場合は、   -AC   オプションを追加してみてください。  ● metalclock, chromeclock, metalclock, woodclock, marbleclock, mwclock で    不自然に速度が低下する   ランタイムが OpenGL-1.1 以上の環境で -e, -r オプションを指定した場合です。   不自然に速度が低下したり、エラー終了したりする場合、テクスチャメモリが   不足している可能性があります。   -tf RGB4   -tf R3_G3_B2   のように、テクスチャフォーマットオプションで、ビット深度を明示的に低くして   みてください。   改善される可能性があります(ただし画質は犠牲になります)。  ● エラーメッセージが鬱陶しい   内部的にエラーが発生した場合などにエラーメッセージが出力されますが、   どうしてもそれが鬱陶しい場合は、   -NO_GL_ERROR   を追加して実行してください。 ■■ 既知の問題点および制限 ■■  ● 3Dlabs PERMEDIA2   △ ミップマップを使えない。   △ αグローを使えない。    -R オプション時の画質が多少劣化します。   △ GL_ONE_MINUS_*_COLOR および GL_*_COLOR 系のブレンドファクタを使えない。    -r オプション使用時は加算ブレンドで代用しています。    また、-D オプションは無効にしています。  ● 3Dfx OpenGL Beta 2.1   △ マルチテクスチャ拡張機能    テクスチャ座標自動生成(環境マップ)と併用すると正常に処理できなくなるため、    ベンチマーク時以外ではマルチテクスチャの使用を禁止しています。    このため、本来の性能よりも多少速度が低下します。   △ 両面光源処理の方が高速    ほとんどの描画は片面描画のため、光源をポリゴンの両面に対して計算する    必要はないのですが、3Dfx OpenGL Beta 2.1 では何故か両面計算の方が高速に    なってしまうため、両面設定にしています。   △ テクスチャ時のフォグが効かない  ● 3Dfx Quake III Compatible Driver   △ マルチテクスチャ拡張機能    テクスチャ座標自動生成(環境マップ)と併用すると正常に処理できなくなるため、    マルチテクスチャの使用を禁止しています。    このため、本来の性能よりも多少速度が低下します。   △ テクスチャ座標自動生成(環境マップ)の問題    何故かポリゴンオフセットを有効にしないと処理されないため、無条件ポリゴン    オフセットを有効にしています。    このため、環境マップ使用時は多少速度が低下します。  ● Mesa Voodoo driver   △ マルチテクスチャ拡張機能    一部ソフトウェア処理となるらしく、速度がかなり低下するため、    マルチテクスチャの使用を禁止しています。   △ セパレート・スペキュラー・カラー拡張機能    ソフトウェア処理となり速度が極端に低下するため、    セパレート・スペキュラー・カラーの使用を禁止しています。   △ フォグの指数関数の問題    指数関数によるフォグ計算(-fog 2 or 3 もしくは 実行中 'e' or 'r' キー)    では、フォグがかかり過ぎ、ほとんど見えなくなります。   △ metalclock のスーパサンプリング    -e 1 オプション時のモーションブラー、シーン・アンティエイリアス、    デプスオブフィールドブラーが少しおかしく(色などが変に)なります。   △ テクスチャフォーマットの問題    -tf オプションで、3 または RGB 系以外のフォーマットを指定すると、    不正終了するようです(Windows のみ確認済み)。    -tf オプションを使用する場合は、3 または RGB 系のいずれかを指定して    ください。  ● Mesa 3D Graphics Library   △ マルチテクスチャ拡張機能    Mesa の config.h で、GL_ARB_multitexture の最大テクスチャステージ数が    3以上の設定でコンパイルされていると、マルチテクスチャの処理が一部    おかしくなるようです。    上に該当する Mesa で -r 2 -D オプション使用時に表示がおかしくなる場合は、    -NO_multitexture オプションを追加してみてください。   △ 法線マッピングの問題    テクスチャ行列の制御に多少問題があるらしく、    -FAKE オプション(フェイク環境マッピングモード)やテクスチャ・オブジェクト    を使用しないオプション(-OpenGL-1.0 や -NO_texture_object)を指定すると、    マッピングがおかしくなります。   △ フォグの指数関数の問題    指数関数によるフォグ計算(-fog 2 or 3 もしくは 実行中 'e' or 'r' キー)    では、フォグがかかり過ぎ、ほとんど見えなくなります。    Windows 版でしか確認していません。    UNIX X-Windows で試された方は、是非結果をお知らせください。   △ 大量ポリゴンのモデルで実行不能    X-Window 版の Mesa のハードウェア実装環境(Glide モード等)では、    2048角形などの大量のポリゴンを使ったモデルでは、反応が無くなる    もしくは落ちるようです。    この問題により、glclock Mark の途中(6. Maximum Triangles Mark.)で実行    不能になる不具合が起きています。    大量ポリゴンで実行しなければ問題ないようですが、glclock Mark では    ポリゴン数がスコアに大きく影響するため、現状では下手に対処できません。    原因もはっきりしていない状態ですので、現在は対処法を検討中です。   △ metalclock のスーパサンプリング    -e 1 オプション時のモーションブラー、シーン・アンティエイリアス、    デプスオブフィールドブラーなどが少しおかしく(色などが変に)なります。   △ テクスチャフォーマットの問題    -tf オプションで、3 または RGB 系以外のフォーマットを指定すると、    不正終了することがあるようです(Windows のみ確認済み)。    -tf オプションを使用する場合は、3 または RGB 系のいずれかを指定して    ください。  ● nVIDIA Riva 128 / ZX   △ ミップマップを3レベルしか使えない。   △ αグローを使えない。   △ GL_ONE_MINUS_*_COLOR 系のブレンドファクタを使えない。    -r オプション使用時は加算ブレンドで代用しています。  ● nVIDIA Riva TNT シリーズ   △ テクスチャ座標自動生成(環境マップ)の問題    時計の形が59角形以上になると(-d 59 以上)環境マップの座標生成が多少    おかしくなるため、-q 7 or -q 8 の場合、58角形に抑えています。    -d 64 などと明示的に -d オプションで59角形以上を指定した場合は、強引に    59角形以上にできます(ベンチマークのためです)。   △ zバッファ誤差    同じ座標で描画してもz座標が違ってくることがあるため、マルチパス    レンダリング時は、2パス目以降の描画にはポリゴンオフセットを与えています。    このため、-D オプション指定時は本来よりも多少速度が低下します。   △ ベンチマーク中に処理が完全に停止する    古いドライバでは、ベンチマーク中に処理が停止してしまうことがあります。    nVIDIA の最近のドライバではまったく問題ないようです。    できるだけ新しいドライバをご使用ください。   △ セパレート・スペキュラー・カラー拡張機能    nVIDIA の最近のドライバでこの拡張機能を使用可能ですが、一部スペキュラー    が加算されないようです。  ● nVIDIA GeForce 256 シリーズ   △ ベンチマーク中に処理が一時的に停止する    glclock Mark の特に高解像度のテスト実行中、突然10秒〜20秒ほど処理が    停止することがあります。    まず間違い無く復活しますが、スコアが大きく落ち込む可能性があります。    -loop オプションで、2〜4回程度測定を繰り返すことをお勧めします。   △ nVIDIA のリファレンスドライバ 5.22 等で、シングルバッファで大量のポリゴン    を描画すると、CPU 負荷が異常に高くなるようです。    glclock-0.6 Beta 3.0 以前は、これが原因でタイマー精度が著しく低下し、    一部のスコアが異常に高くなる不具合がありましたが、glclock-6.0 Beta 6.0 で    修正しました(多少強引ですが)。  ● S3 Savage2000   △ フォグの線形関数の問題    Savage2000 では線形フォグの計算に問題があるらしく、線形フォグのモード    では時計がほとんど見えなくなります。    線形以外のフォグ(q / e / r キーもしくは -fog 0 / 2 / 3)では正常です。    このため、Savage2000 の環境では、デフォルトで -fog 2 にしています。   △ ハードウェアアクセラレーションが効かない    16ビットカラー時のみ、metalclock のスーパサンプリング系エフェクトが    ソフトウェア処理になってしまうようです。    32ビットカラーでは、きちんとハードウェアアクセラレートされます。  ● Matrox G400   △ マルチテクスチャ拡張機能    マルチテクスチャに問題があるたしく、表示が正常に行われなくなるため、    マルチテクスチャの使用を禁止しています。    このため、本来の性能よりも多少速度が低下します。 =========================================================================== http://www.daionet.gr.jp/~masa/ masa@daionet.gr.jp ===========================================================================