2016年4月1日金曜日

いくつかのLSLセオリーについて 是正というかそういう話

まぁほんと当時の状況と言葉尻だけ拾われて変な話になってる部分について

・検索でlistは重いから使わない について

 これバックステージパスにも書かれてるんだけど
 実際ワード保持して逐次検索するようなプログラムの場合
 等長のString型で保持してSubstring系の命令使ったほうが確かに速いんだが
 それはあくまで項目が100とか超えるようなインデックス検索だけの話で

 そういう量じゃなければ入力が十分に遅いので実用速度的に有意差はない
 項目数多すぎてRAMがガチで足りんとかそういうのもmonoならほぼ無い
 何でもかんでもsubstring使ってると検索の後の処理でステップ数食われる

 具体的にはインデックス一個でデータ引き出すだけ みたいな状況で
 list2なら引数は2だが getsubstringでは引数が3だ しかもインデックスの計算がある

・スクリプトは分割したほうが軽い 系の話

 まぁ例えば SIMFPSが一桁になるようなコンバットsandboxで
 一秒に数ステップしか命令が行われないような状況になれば

 通常の エフェクト再生 rez サウンド再生 みたいなアウトプット処理が
 シーケンスだと数秒かかるようになるので
 全部のスクリプトを分割して それぞれトリガーで1命令実行するだけみたいなのを使うと
 原理上2フレームで全部再生されるので確かにハイレスポンスになったように”見える”わけだ
 (この影響が出るのは実質米国本土のみなんだけどねぇ)

 現代のセオリーでは"無駄に多い"スクリプトは普通に悪だし
 そういうFPS一桁になるような武器類を使うのはBAN対象なので
 そういう時代の無駄に分割されたスクリプトは使わないほうがいい

・オブジェクト移動系ギミックは固定値で動かすべきという話

 これまぁ結局座標演算ちゃんと出来ないやつの戯言だからなぁ
 というところで決めつけちゃっていい

 5フレームくらいまでなら全部手作業で動かして座標取っちまってもいいしな

 ただそのままでは動的なフレーム数加減とかに対応出来なかったり
 多関節や平行リンク等のちょっと複雑な稼働やらせようとしたときに詰む

 リサイズや 中立位置のオフセットにも対応できないしな

0 件のコメント:

コメントを投稿