ソラマメブログ
翻訳サイトでは有名なBabel Fishです。^^使ってみてね。ダイエット計算機です^^
ダイエットピンキー
Loading...
アクセスカウンタ
< 2024年05月 >
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
新規投稿

新規投稿するにはログインする必要があります。会員IDをお持ちでない方はIDを取得された後に投稿できるようになります。
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
オーナーへメッセージ

2008年05月16日

ベーター・ビュワーが新しくなりました。

またまた恐縮ですが、ビュワーのお話しです。^^;;

ベーターグリッド用のビュワーが新しくなり、以前からリンデンがアナウンスしてるMONOグリッドに対応したリリース版がでました。
ベーター・ビュワーが新しくなりました。

これはなんなのか?についてですが、現在SLはほぼ1.21.1グリッドに移行していますが、そもそもグリッドというSIM(シュミレーション)は3Dのレンダリングのために存在しています。

でもSLでは実際、自動車に乗ったり、飛行機に乗ったり、ダンスをしたりと様々なことが可能になって、それがイン・ワールドを魅力的にしているわけですが、その恩恵はLSL、つまりリンデンスクリプトによって実現しています。

よくサーバーが再起動することがあり、警告がでてSIMをでなければいけない事があるでしょう?

これには様々な原因がありますが、最も多いのが至るところで高速にLSLを処理しようとするため、どうしてもサーバー側の処理が非常に負荷のかかった状態になるため、リセットしなくてはならないから・・・というのが多いのです。よく”ラグ”という表現がされます。

そもそもLSLはSIMがサポートしているのではなくて、LSLを実行できる環境をSIM側のオブジェクトが呼び出して実行するという仕組みです。SIM自体はスクリプト実行環境ではないということ。こういうのをJAVAではよくVM(バーチャルマシン)という呼び名を使います。そもそも実行環境ではないが、それを動作させる状態をサーバー同士で連携して持ってくるというわけ。

まあ、自宅で野球は無理だが、空中に球場作ってそこで試合やろうと、どっかから環境を持ってくるという感じでしょうか。

で、現在LSLはLSL2というバージョンらしんですが、これが動作で得きる環境は今の状況ではかなりキビシイといわざるを得ないようです。サーバー側が対応しきれず、結局”ラグ”の上限にすぐ達してしまう。よくあるのがキャパシティーがもの凄いダンスクラブでSIMごと落ちる・・といった場合がそうです。限界点が低いというわけ。 それに至るところでHUDだらけの人たちがダンスしてますからね。正確にはSIMが落ちるというより、LSL環境との連携が処理が追いつかず拒否された状態。すると完全にフリーズしたようになり、サーバー側で再起動して環境をリセットしないといけない状態になるということ。

サーバーが「もうデキネーよ!!」とキレた状態です^^;

そこでリンデンではこれを解消しようとして、以前から別のVMを検証して実験を重ねてきたそうで、これは非常にLSLを高速で処理できる事が実証出来たそうです。

公式ブログにあるビデオは何をやっているかというと、このMONO VMが働くSIMで(適用されたサンドボックスが既に稼働しています)サーバーに負荷のかかるベンチマーク用スクリプトを動作させてる様子です。もの凄い数のプリムが生成されていますよね。ちょうどアバターを真上から俯瞰で見た視点で撮影しています。

http://blog.secondlife.com/2008/05/15/mono-beta-refresh-9/

将来的にはこのMONO VMが動作する環境を全てのSIMで実現するのが、リンデンの目標のようです。しかし、公式WIKIでは「その道のりは長い」としています。なんでもLSL2とMONO VMではバイトコードといって、平たくいえばプログラムの解釈が違うのです。

JAVAなどがそうですが例えばウィンドウズ用のソフトをMACで使おうと思っても動くわけがないのは誰でもわかりますよね?それはそもそも、プログラムが書かれているコードがお互い違うからで、もっといえばプログラム言語はそれが動作できる環境が同じでないと普通動作しません。

それじゃ不便なんで、もとになるプログラムは別のトコロに置いておいて、インストール先のプログラムによって環境を読み込んで動作させようという考えが出来ました。バイトコードとはそのVMとLSLの仲を取り持つ中間管理職みたいなもの。ところが、MONOと現在のLSL2では、担当がそれぞれ違うので、仲良くやるために、ちと考えてやらないといけないということになる・・。

まあプログラム言語を1から作り直すのと同じですね。

この仕組みによって、従いソフトは「プログラム本体は別のトコロから頂戴する」様な感じになり、ソースコードはカンタンになるは、OS違っても動作するわで万々歳・・と行きたいところですが、チトこれには越えなきゃならないハードルがあるわけです。

それは肝心の動作環境を与える側、VMの方です。何せ数万のアバターが一斉にLSLを知らず知らず実行している状態が今のSL。当然常にサーバーは忙しくLSLを実行して環境を呼び出し処理を実行しなければいけない・・。今のSLは非常にLSLをこのまま実行し続けるのは、もう限界に来ている・・。

そこで、このビュワーをMONO VMのテストに住人にテストしてもらいたいというわけ。ついでにバグ出しも・・。

LSLというのは、「スクリプトを新しく作成」で保存すれば、デバックとコンパイル(難しい言葉で言えばバイトコードに変換する)を同時に実行するので、普通に使えますが、MONO VMが動作している環境でこれをやると、havok4や現在のグリッドでは動作しません。バイトコードに変換したトコロと同じ環境でないと実行できないというのが今の現状。

こう聞くと、やはりSLはビュワーを使う側のスペックの問題よりも、LSLの処理をどうするかがほとんどパフォーマンスに関わっているというのがわかります。

まあレンダリングによってクソ重くなるのは別ですが。

MONO VMについての文献はどれも英語なのですが、バーチャル・マシンとはなにか?については、NECで文献を公開しています。ただし難しいデスヨ。^^
http://www.nec.co.jp/techrep/ja/journal/g05/n02/t050211.pdf

ヴァーチャルマシンとはなんじゃいな?

VMの技術は数が多くて、主にJAVA開発のSun microsystemsとマイクロソフトやVM Wareなど,覇権をめぐって一時期争っていましたが、マイクロソフトは離脱、SunはVMはやめてJAVAだけに特化してしまいましたが。MONOは新しい方ではないでしょうか。

一番有名なのがVM Ware。VM ware Playerなる無償版があるので、使ってみたところが以下の画像。
ブラウザみたいなウィンドウ内で別のOSが起動しています。(動作してるのはUbuntuというLinuxOSで、ブラウザだけしか起動しない様にしてあるヤツです。実際のUbuntuはちゃんとしたOSです。)

ベーター・ビュワーが新しくなりました。

ベーター・ビュワーが新しくなりました。

ベーター・ビュワーが新しくなりました。

将来この技術をリンデンはSLに使いたいと考えてるようです。^^。

追記:

やっぱブラウザだけしか動かないのはつまらないので、OSのイメージファイルをVM Wareからもらってきて以下のようにウィンドウズの上にもう一つのOS、 Ubuntu8.04を動作させました。^^
ベーター・ビュワーが新しくなりました。












同じカテゴリー(技術情報)の記事画像
しばらくぶりに。リンデンラボ
SLに直接関係ないですが、面白い事part.2
あまりに簡単な動画閲覧
SLに直接関係ないですが、面白い事part.1
久々に出会ったコイツ等
ビュワー2が今夏新しくなる
同じカテゴリー(技術情報)の記事
 しばらくぶりに。リンデンラボ (2013-01-23 11:51)
 SLに直接関係ないですが、面白い事part.2 (2012-02-08 03:14)
 あまりに簡単な動画閲覧 (2012-01-23 02:28)
 SLに直接関係ないですが、面白い事part.1 (2012-01-14 03:14)
 久々に出会ったコイツ等 (2011-10-08 02:56)
 ビュワー2が今夏新しくなる (2010-05-07 02:57)

Posted by arado at 06:51│Comments(0)技術情報
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。