ラグ

ラグは Second Life を使っている時に反応が遅くなることを表現する俗称です。これはさまざまな原因によって起こる症状です。この記事ではラグの発生元と対処方法について説明します。
ログインするときに、ラグを軽減するために万事スムーズに動かなければならないコンポーネントがたくさんあります。それはコンピュータ、インターネット接続、Linden Lab のサーバや内部ネットワークやデータベースです。これらは順番に取り上げます。まずはスクリーンからはじめ、外に外に広げていきましょう。
== コンピュータ ==
Second Life はグラフィック集約型でかつ、Linden Lab のサーバと通信するためにたくさんの帯域を使います。このため、コンピュータはビューワプログラムがほとんど問題なく動くようなものでないといけません。基礎的な情報は、動作環境 を参照してください。
=== グラフィック・ハードウェア ===
モニターとグラフィックカード、またはグラフィックチップはスクリーンに表示される画像を一緒になって生成するものです。グラフィックチップはものすごくスピードに優れています。最も遅いのは「統合グラフィック」で、マザーボードのチップセットの一部とメインコンピュータのメモリを使ってグラフィック計算を行うものです。独自にメモリをもつ分離したグラフィックカードのほうがよっぽど速いです。
Graphics Card Chart には Second Life のパフォーマンスの範囲の比較が載っていますが、設定や 3D 世界のどこにいるかによってフレームレートは違ってきます。もっと最近のグラフィックカードのランキング比較が Tom's Hardware Guide にあります。このリストのもっとも低いいくつかのグループは Second Life をまともに動かすことができないでしょう。
Second Life の世界は大きく、かつ「生きて」います (常に変動しています) 。このため、他の 3D ゲームでは使っていないような場所ですごく早いアルゴリズム (例えば、BSP ツリーやプリコンパイル・マップなど) が使われています。その代わりに、リアルタイムでビューを生成するためのデータをダウンロードして 3D ビューに変換する必要があります。つまり、たいていの他のゲームに比べて、低い Frames-Per-Second (FPS) になります。
そんなに多くの人が Second Life を "fast twitch" 戦闘のような活動に使うわけではないので、若干の低いフレームレートは許容できます。フレームレートがいくつになっているかを調べるには、メニューの 表示 > 地域の統計情報 で 統計 ウィンドウを開きます。
グラフィックカードの詳しい情報や問題点はこちらにあります:
* Graphics Cards - グラフィックカードを選択するにあたっての情報
* How to identify your graphics card
* ドライバの更新方法 - 最新のドライバーのパフォーマンスをちょっと上げる方法
=== グラフィック設定 ===
グラフィック設定の主な設定項目は 環境設定 ウィンドウにあり、編集 > 環境設定 > 表示 タブからアクセスできます。メインの「品質およびパフォーマンス」スライドバーを使って複数の設定を一挙に変え、速くしたり詳細な 3D ビューにしたりします。「カスタム」にチェックを入れて、詳細な設定項目を見てください。
低パフォーマンスのビデオカードの場合は、次の設定をすることで、質を犠牲にしてスピードアップします。フレームレートが高いときは、いくつかをより高く設定できるでしょう:
ウィンドウ内で Second Life を起動: - チェックを外して低い解像度にします。
描画距離: - ラグに影響する単独首位で重要な設定項目は、3D 世界の見える距離です。距離が 2 倍になると、ダウンロードして表示しなければならないデータの量は (面積または体積で) 4-8 倍に膨れ上がります。このため、スライドバーをずらして低くするとだいぶ違ってくるのです。
シェーダー、反射詳細、アバター表示: - 全てのチェックを外します。
ライティング詳細、地形詳細: - それぞれ、太陽と月のみ、低に設定します。
最大パーティクル数: - 256 にします。
メッシュ詳細: スライドバーを左端にします。
ハードウェア・オプションボタン - 詳細な設定項目のあるウィンドウを開きます:
: フィルタリング: - チェックをつけないままにします。
: アンチエイリアシング: - 無効にします。
: VBO を有効化: - オンにします。
: テクスチャメモリ (MB): - 通常はグラフィックカードのメモリサイズと同じにします。
: フォグの距離比率: - このオプションは先のダイアログで「基本シェーダー」オプションがチェックされている場合にのみ有効です。基本シェーダーオプションのチェックを外すと、フォグの距離比率は上のメニューの 世界 > 環境の設定 > 環境編集 > 空の高度な設定 ボタン > 視界の増幅 によって決まることになります。
=== CPU とメモリ ===
Second Life のビューワプログラムはコンピュータのリソースをたくさん使いがちです。Windows システムでは、Ctrl-Alt-Del を押すと「Windows タスク マネージャ」が開き、パフォーマンスタブで現在の CPU 使用率を見ることができます。もし 100% になっていたら、一つの選択肢は、起動していた他のプログラムを全て閉じることです。ビューワの設定を減らしたり、要求水準の低い代替ビューアを使用したりすることも選択肢として考えられます。
プログラムはメインメモリの数百 MB を消費します。物理メモリが消費しつくされると、たいていのコンピュータはデータをハードディスクに一時的にスワップアウトします。これはものすごく遅いです。「コミットチャージ」(実際のメモリ消費量) がコンピュータに積まれている物理 RAM よりも大きい場合は、2 つの選択肢があります。他のプログラムを閉じて SL ビューワの設定を低くするか、もしくはコンピュータにメモリを追加するかです。
目安として、512MB だとかろうじて使用でき、768MB だと最低の設定で使用でき、1GB は適当で、それ以上にすると、特に他のプログラムを同時に動かしたいときには良いでしょう。
== インターネット接続 ==
Second Life は Linden Lab サーバと絶えずコミュニケーションをとることが求められます。データのスピードは新しいロケーションに最初に到着したときや、忙しく動き回っている時、またはたくさんの人が行ったり来たりするエリアにいるときに最大となります。これらはすべて、全部見ることができるように新しいデータを送るよう要求を出します。１つの回線の接続速度が最低でも 500 キロビット／秒 (kbps) であることが、Second Life を快適に動かすのに必要です。
無線ルータや完全な無線接続では、このような速度は出せないかもしれません。ダイアルアップ接続は Second Life を使うには明らかに遅すぎます。いったん周辺のものをダウンロードしてしまえば、どこにいても帯域は 4 ～ 50 キロビット／秒に落ち着きます。
おかしな話ですが、高すぎる接続速度も問題を起こすことがあります。コンピュータは流れてきた新しいデータを使って何かをしなければなりません。たくさんありすぎると、データパケットを紛失し、再送信してもらうことにもなります。これが問題をさらに悪化させます。「統計バー」はパケットロスをパーセンテージで表示します。常に 0% より高いものがあれば、上のメニューの 編集 > 環境設定 > ネットワーク > 最大帯域幅 にアクセスし、値を低くしてパケットロスを減らしてください。一方、接続速度が速くて処理できるなら、帯域を増やしてデータのダウンロードを速くできます。
同じタブにある キャッシュ: では、ハードドライブにサーバから送られたデータを保存する量を設定します。これにはテクスチャ、アニメーション、持ち物リスト、サウンドクリップ、その他アイテムが含まれています。高い設定にしておくと、見るたびにアイテムのダウンロードを繰り返さないようになります。
ストリーミング音楽やビデオメディア、ボイスチャットはみんな要求帯域を増やします。上のメニューの 編集 > 環境設定 > 音声とビデオ > ストリーム環境設定: を使ってストリーミングをオフにします。編集 > 環境設定 > ボイスチャット > ボイスチャットを有効にする を使ってオフにします。ボイスチャットは Vivox の付属プログラムも使って動作するので、オフにすると CPU 使用率も下がります。
== サーバサイド・ラグ ==
Linden Lab のサーバはマップ地域で起こる全てのことを記録すると同時に、地域を見ることができるユーザ全員に情報を送らなければなりません。たくさんやることがあると、シミュレータのフレームレートを下げ、データが失われないようにします。オブジェクトに関するデータを取得し各ユーザに送信するのに通信が大量に入ると、溜ってしまうことがあります。ラグにはさまざまな原因があるので、サーバサイド・ラグが原因となっているときには 統計 ウィンドウでわかります。
サーバがビジーになる原因になる事象:
* 物理 (物理属性が有効の) オブジェクトが地域にたくさんある
* 多くのユーザが地域にいる、言い換えれば地域を見ることができる。各ユーザに誰がいるかのデータを送らなければならないため
* オブジェクトに埋め込まれているスクリプトが地域の中でたくさん起動している
* テクスチャの変更がたくさんある
Lag
Lag
==関連項目==
* Wikipedia ラグ
* Anatomy of Lag Article
* Packet Loss
* related Knowledge Base articles:
**I have a lot of lag. How can I improve performance?
**How do I check for packet loss (network lag)?
**How many avatars can I have on my region at once without causing serious problems with lag?
**Typical Frame Rate Performance by Graphics Card/GPU