Rj's SkaaRj Page_06


この頁では、私Rjがあのおそろしい3Dゲーム unreal をやってみて思ったことなどを書きます。決して中上級者向けの技術向上参考頁にはなり得ないので、御了承下さい。私はにぶいのです。。。さて今回の内容は、描画速度のことと、禁断の裏技(?)などです。自制心に自信が無く、且つ、独力でのクリヤを目指している方は、「3.禁断の裏技(?)」を決して見ないで下さい。既に公になっているいくつかの「手引き書に書いてないこと」を紹介してます。(1998.12.12)

  1. フレームレート
  2. どうしよう(細かい設定のこと)
  3. 禁断の裏技(?)
  4. 現状・・・

その六

1.フレームレート

唐突ですが、私の環境(7300/604e/180MHz (L2 cache 256KB) w/ATI XclaimVR (RAGE Pro/4MB), VM off)でのunrealの描画速度についてです。通常は、コマンド入力モードにして(ゲーム或いはデモ進行中にtabキーを押すと、画面下にコマンド入力行 - プロンプト - が出てきます)、
> STAT FPS [return]
とか何とか入力すると画面下部にその時のフレームレートなどが出てくるのですが、これは状況によっていろいろ変化するので、典型的な値を何となく見ることは出来ても正確な比較には使えません。うーむ、ま、いっか、と思っていたのですが、こないだAccelerate Your Mac!'s Unreal Page辺りをちろちろ眺めていて、Unreal FPS Toolkit v1.04なんてものを見つけたので落としてみました。

これはオープニングの城塞遊覧飛行デモのところでframe rateを計るやつです。平等な条件で比較出来るように、初期設定ファイル(MacOSのシステムフォルダのそれではなく、Unrealフォルダに入っている「Unreal.ini」相当のもの)も付いてきます。高品質(HQ:High Quality)のと、低品質(LQ:Low Quality)のがあって、それぞれ・・・ある一定の設定になってるんですね。これを試してみました。

使い方は簡単です。(事前にUnreal1.02b2アップデータを当てておいて下さい。)

  1. 落としたのに入ってる「TimeDemo.u」をUnrealフォルダのSystemフォルダに入れる。
  2. 自分のハードに合った初期設定ファイル「Unreal.ini」を、元のやつと入れ換える。(要バックアップ)
  3. Unrealを起動して、デモ画面でコマンド入力モードにして、以下を入力する。
    > SUMMON TIMEDEMO.TIMEDEMO [return]
  4. 三周終わるまで待つ。あまり画面を凝視していると酔うのでちういのこと。(←酔ったやつ)
  5. 三周目の平均を見て取る。おしまい。またコマンド入力モードにして、以下を入力する。
    > KILLALL TIMEDEMO [return]

個人的には、五周分くらいのデータを集め、最高値と最低値を除いた3つの平均で較べる、とかにした方がいい(三周目、というのを特別扱いする理由が分からない)と思うのですが、一応上記サイトでの比較には「三周目」の数値を使っているようです。結構ばらつきがある場合もあるので、二周目と四周目の結果がよくて三周目が悪いとちびっと損した気分になります。(特に損はしてないのですが。)因みに一周50秒強です。

付いてくるHQLQそれぞれの設定の相違点と、そこで設定される・・・のやもしれぬ、と私が怪しげに憶測した内容を表にしてみました。こんな感じです。(私の都合により、ATI用のHQとLQだけしか取り上げてません。悪しからず。。。)

設定の主な相違点
↓こうもくHQLQRjの憶測↓
[MacDrv.MacClient]
CurvedSurfacesTrueFalse滑らかな姿態?
LowDetailTexturesFalseTrue大雑把な壁紙
ScreenFlashesTrueFalse画面がちかちか?
[Galaxy.GalaxyAudioSubsystem]
UseStereoTrueFalse立体音声
UseDigitalMusicTrueFalse二進数的音楽
UseReverbTrueFalse反響音
LowSoundQualityFalseTrue音声16→8bit化
ReverseStereoTrueFalse逆位相立体音声?
OutputRate44100Hz11025Hz標本周波数
EffectsChannels168同時発音源数
[RaveDrv.RaveRenderDevice]
VolumetricLightingTrueFalse容量解析照明
ShinySurfacesTrueFalse反射表面
CoronasTrueFalse光冠
HighDetailActorsTrueFalse俳優詳細表現
TextureCompositeTrueFalse壁紙合成
VertexLightingTrueFalse天頂照明(点光源?)

んでその7300/180+RAGE Proでの結果です。毎秒当たりに表示されるフレーム数です。参考までに、Doubled(ホントの解像度は半分)のデータも載せます。

けっか
resolution640x480640x480dbl800x600800x600dbl
HQ8.5144.812
LQ10.6168.214
(註:何故かHQで描画が錯乱するので、HQの方はNoLighting=Trueでやりました。 [RaveDrv.RaveRenderDevice]のドレかと相性が悪い感じですが、詳細未確認。 ということはつまり、実際にはもっとfpsの値は下がるはずです。HQでは。)

この数字が10fpsを切ると、ちと辛いものありそうです。。。からい、ではありません。恐らく、「肝心な場面」で描画状況がぱらぱらマンガ未満になってしまうでしょう。ということで、私のハードウェアでは640x480なんていう美しい解像度で満足に遊ぶことは難しいのでした。。。(美術的表現をガマンし、ぎこちなさにも目を瞑れば何とか行けるやもしれませんが・・・ちとさみしいです。)私の場合は音声がステレオでないとやなので、LQを基本にして効果音数を16、サンプリング周波数を22050Hzにして、832x624dbl(13fpsくらい)か、512x384(12fpsくらい)がせいぜい、といったところです。(派手な場面ではコマ送りになります。。。)

ぁ-...やっぱり400MHzくらいのG3/G4カード・・・

因みに、1670万色にしても32000色でも大差ないです。VRAMを8MBにするとだいぶいいぞ、というデータがあるようです。あと、ちとまぬけな話ですが、最初無茶苦茶のろかったので「あれま。おかしいな。LQfpsぽっち?それはひどいぞぅ・・・」と、一瞬泣きそうになりました(←またかよ)。しばらく悩んでやっと気付きました。AppleTalkがonになったままでした。その一点が随分効いてしまったのは私んとこの環境のせいかもしれませんが。。。(実は上のテストは、普段使ってる環境そのまんま(AppleTalkのon/off以外)の混濁状態でやってます。機能拡張やらコンパネやら有象無象お嬢小僧その他もろもろの入ったままの、MacOS8.1Jです。)

(↑なんでわざわざ混濁環境のままやってるんだろ・・・)


2.どうしよう(細かい設定のこと)

というわけで、上のテストをやってみる際に「Unreal.ini」をいろいろいぢくり倒してみたのですが、Macintosh内部で3Dの描画処理を誰がどのような方法で行っているのか全然知らんちんな私には、謎が深まっただけでした。以前から、どっか設定を変えるとunreal世界の描写のされ方が劇的に変わってしまったりしていたので謎に思っていたのですが、今回いろいろ設定をいぢくってみれば大体分かるだろうという甘い期待は、ここでもやはり見事に打ち砕かれてしまったようです。

この「*.ini」ってどす式でせうか。ある意味でそれは分かりやすい形式(に見えるよう)なので、実際にあちこちいぢくるまでは高を括っていました。ゆだんたいてきとはこのことです。どすマシンを手足の如く操る為には、深遠で膨大で繊細な知識と、豊富で多様で広範な経験が無いといけないそうですが、この「Unreal.ini」を手懐ける(傅かせる、跪かせる、でもよいです。)ためにもやっぱりそういう種類の知識や経験がひつようなのかも、と、打ちのめされてしまいました。

具体的には、設定すべき箇所は限られまくっているのにそれらをどう設定したらよいのかの答は試行錯誤の延長線上には見えなかった、ということです。全然具体的ぢゃないですね。。。えーと、私のマシンはPCIビデオカード上にATIの描画ちっぷを積んでるので、「それを支配してそうな」設定項目だけ好きにいぢればいいのかな、と思ったのですが、どうもそうぢゃないようです。そもそも描画のどの部分をメインプロセッサユニットが担当していて云々かんぬんだってのを雑誌の解説記事で理屈を読んで分かったような気にさせられているだけのド素人の私にはホントはちっっっとも分かってないんだ、ということだけがはっきりと分かりました。

取り敢えず、β版でしかないアップデータを当てた1.02b2というアプリ自体おそらく完璧ではないでしょうし、それをまた訳ワカメなお嬢小僧がうぢゃうぢゃ棲んでいる混濁環境しかもOS「J」上で使ってるんですから、「あ、堕ちた。。。」という時の原因さえ不明なことが多いのです。その上謎のような謎かけファイル(Unreal.iniのこと)の中にある謎の設定項目を好き勝手にいろいろいぢくってるわけですから、わからんちんなのも至極道理に適っていると言えましょう。ははは。私としては、ある特定の項目を変更した際にその影響でfpsがどれくらい変化するものなのかを把握したかっただけなのですが、これまた詮無き夢に終わりつつあります。TimeDemoに付いてきたテスト用iniファイルを地味に変更して使うのが一番マシらしい、と気付くまでに半年以上を費やしてしまった気分です(ホントは半日ちょっと)。

(↑単に混濁環境のままやるのをやめればいいんぢゃないかや・・・)

さて、上のテストに関連していくつか。


3.禁断の裏技(?)

さてここから下には一部危険な(ネタばらしまくりの)情報が含まれます。読みたくない人は「4.現状・・・」まで飛行して下さい。






















4.現状・・・

先週はちと無理矢理書きすぎた気がしています。だいたい、Slithさんのことを「彼」と書いてしまったのですが、「彼女」かもしれないですよね。声が妙に高いあたり、「せいれん/まあめいど/じゅごん/まなてい・・・(以下略)」の類を素直に連想していればよかったのかもしれないです。(でも実際どうなんだかは未確認です。)(どうやって確認するんだろう・・・)

第一印象のあまりよくなかったMercenaryさんですが、一気に見方が変わりました。私の「ひとを見る目」なんて所詮そんなもん、です。。。更に先週無害らしいと書いたあの緑の液体、やっぱりホントは毒なんだったらどうしよう・・・私の環境でゲームがちゃんと動いてないだけなのかも・・・ひとまず、それっぽい防護服を取る前に堕ちたけど平気だったので、タダの色付き液体なだけかと思ったんですけどね。。。

そうそう、一発でTitanさんを倒してしまうという方法も分かりました。でも、やりません。それは、JuggernautにFusion Pistolを向ける以上に酷な行為だと思うからです。別にそれを行う人を責めるんぢゃないです。ただ私の嗜好として、そういうのはいいや、と思うだけです。もしも早急に最後まで辿り着くのが目的なんだったらそれは非常に有用な情報たりうるでせうけど、私は・・・一歩一歩進んでいくよていです。♪ざっつらぁぃふ・・・(だからまた唄ってどうする。しかも能天気大魔王金剛石デイヴの唄なんか・・・)

ちょっと設定をいぢって遊んでみて思ったことですが・・・速度と引き換えに彼らがのっぺらぼうみたいになっちゃうのはやはりちと哀しいっす。。。うーん、どうしよう・・・これはきっと「俳優詳細表現」で設定するものですよね。。。

といった感じで、まだまだ手探り、つまり発見が多くて楽しい毎日・・・いや、毎回、です。みなさん、如何ですか?

(以上1998.12.12)


前に戻る次へ進むもくじ頁


Rj's Chaotic Page
http://homepage.mac.com/rj_chaos/chaos/
mailto:rj-taka@t3.rim.or.jp
antithesis