ソラマメブログ

  

Posted by at

2007年10月04日

フットサルコートの壁を黒くすると負荷が減る?

問い:フットサルコートで、中から外が見えないようにすると、選手のクライアントへのテクスチャの転送量が減るのではないか。
私の答え:減らない。んじゃないかなぁ。。。


以下が調査内容と結果です。
---
---
●予備実験1
ある複雑なプリムの前に壁を作り、ログアウトして
キャッシュを消してからログインする。
ログイン後、60秒まってから壁を消す。
もし壁の向こうのテクスチャが転送されていないなら、
何もない地面が見えるか、灰色のテクスチャが貼られた状態で見えるはずである。

結果:消した瞬間に背景がテクスチャ付きで表示された。
(ためしに壁を消した状態でログアウトし、キャッシュを消してからログインしたところ、
最初は灰色のテクスチャで表示された)
#軽井沢から旧軽井沢の景色を見て確認。
---


で、ここからが本来の調査。実験=調査に読み替えてください。
---
●調査したいこと
・フットサルコートの壁を黒くすると、クライアントにかかる負荷が減るか?
 ->見えない所のテクスチャは、クライアントに転送されないのか?

●前提の整理
[実験の前提条件]
・テクスチャは転送されると、キャッシュディレクトリにUUID名つきで格納される。
 ->テクスチャが転送されたかどうかは、キャッシュディレクトリのファイル有無で判断できる。
  (格納数に限界があるとしても)

●環境
[SIM]
・なるべくオブジェクトの少ない所
・高低差のない所
 ->ベータグリッドで行う

[クライアント]
・最新のベータグリッド版で行う
 ->SecondLifeBetaHavok.exe (製品バージョン 1.18.3.70780)


●状況
(図)


(1)アバター
・北向きで地上に立たせる。

(2)壁オブジェクト
・普通の(huge)でない、箱型プリム。
・10m * 10m * 0.5m
・以下の種類とする(まずは2aだけ確認)
 (2a)テクスチャなし。透明度0%
 (2b)テクスチャあり(デフォルト)。透明度0%
 (2c)テクスチャなし。透明度50%
 (2d)テクスチャなし。透明度100%

(3)隠蔽オブジェクト
・普通の(huge)でない、箱型プリム。
・5m * 5m * 5m
・Rez時のまま(回転させない)
・6面すべてに異なるテクスチャを貼る。
 ・オブジェクトのUUID:-略
 ・テクスチャUUID(上):0,0e634762-略
 ・テクスチャUUID(下):1,e9666120-略
 ・テクスチャUUID(東):2,0f5b479b-略
 ・テクスチャUUID(西):3,a4fe9255-略
 ・テクスチャUUID(南):4,bb312bc6-略
 ・テクスチャUUID(北):5,1bd3edf7-略

●実験手順
1)各オブジェクトの設置、UUIDの取得
2)アバターを北に向かせたままログアウト
3)キャッシュを消す(リネーム)。
->確認のため、キャッシュディレクトリのファイル一覧を取得する。
4)ログインする
5)ログイン完了(バーグラフが消えたタイミング)から5, 10, 30, 60,120,150,180秒のタイミングで、
 キャッシュディレクトリのファイル一覧を取得する。
6)壁の横まで歩いていき、壁の後ろの隠蔽オブジェクトを画面に表示させる
7)キャッシュディレクトリのファイル一覧を取得する。
8)ログアウトする
9)上記1)で取得したUUIDと、キャッシュディレクトリの一覧を比べ、
 テクスチャが転送されたか否かを確認する。

●結果
[1回目]
・テクスチャのうち、東側は0s、下側は5s、上側は30s後にキャッシュに入った。
 西側、南側、北側は壁をよけて南西から近づいたとき(上記7)にキャッシュに入った。
[2回目]
・テクスチャのうち、下側は15s、それ以外はすべて30sでキャッシュに入った。

●考察
・プレイヤーが見えるか見えないかにかかわらず、テクスチャは転送される。
・下側が先に転送される結果となったが、オブジェクトのSIDEと関係あるのかは不明。


●課題
・ワイヤーフレームにしたらテクスチャが転送されないのか確認。
・テクスチャの転送量が、性能に与える影響を確認
 ->統計情報から取得(クライアント改造or画面キャプチャ)
---
時間切れでここまで。私の能力では3時間でこの程度の調査とまとめしかできません。
批判や意見を歓迎します。
  


Posted by march at 00:39Comments(5)