トップページへ | [ 一覧 | 検索 | 最終更新 ] [ 差分 | 履歴 | 凍結 ] |
高速化チューニング†警告!ここにある修正を加えなくても、通常は全く問題ありません。 はじめに†ヒトバシラ上等!な方に贈る、AYAv5用高速化チューニング。 起動を高速化する†AYA利用ゴーストは、等しく起動が遅い!という難点を抱えていることが多く、悩みの種の方も多いでしょう。ここでは、起動高速化に関する簡単なチューニングを扱います。 たくさんゴーストをインストールした環境で起動が遅い†総ゴースト数が4桁程度まで膨れ上がった昨今、3桁レベルのインストール数の環境も多いかと思います。 ……それは良いのですが、本体側からのゴースト情報の通知も巨大になり、その解析にAYAが手間取るという難儀な問題も出てしまいます。 かんたんなTips†人柱度:★★☆☆☆ 解決方法は簡単で、aya_shiori3.dicの最初の方にある #define の並びのうちいくつかを #define IGLIST_MAX 0 #define REQUEST_LINES_LIMIT 30 などのように修正します。
なお、インストール済みのゴースト/バルーンなどの情報を扱いたいゴーストでは、これらの設定変更をするとトラブルの元になります。 もうちょっとやってみたい人向けTips†人柱度:★★★★☆ ……さて、それでもまだ我慢ならねぇ!という方向けTips。ゴースト情報取得自体を無効にしてしまいましょう。 aya_shiori3.dicの600行目以降あたりに、On_installedghostnameというものがあるかと思います。これを全てコメントアウトしてしまいます。 /*On_installedghostname { (ごにょごにょ) }*/ こんな感じですね。 ランダムトークの出るのが遅い†ついに力作が完成!なんとランダムトークが数百個もあるゾ!! という、ある種特殊な方向け高速化Tipsです。 サポート掲示板か日記あたりでumeiciさんが言っていたTipsの発展形です。最新のAYAで可能になりました。 シングルクオートによる高速化†人柱度:★★★★☆ ランダムトークは多分aya_aitalk.dicに書いているかと思います。 RandomTalk { "ごにょごにょ" } こんな感じですね。 " " でくくって、SakuraScriptをナマでずらずら書いていくわけですが、実は新しいバージョンのAYAでは、" " 以外にも ' ' が使えるようになりました。 なんでそれが関係あるの!という説明の前に、先に変更例を書いてみます。 RandomTalk { TOSTR(EVAL(CHR(0x22)+RandomTalkEx()+CHR(0x22))) } RandomTalkEx { 'ごにょごにょ' } はい、元あったRandomTalkの名前を適当に(RandomTalkExとしました)変えて、中身の文章の囲み方を ' ' に変えて、妙な命令のあるRandomTalkをつけくわえただけです。*1 ……それでは、からくりを説明します。 AYA5の新しいバージョンで導入された ' ' の意味は、%()を展開しないです。 元の " " の状態では、埋め込みする処理をすべて解析して結果とする処理が必要なのですが、' ' ですと囲まれた部分はただの文字列扱いですので、ほとんど何も処理する必要がありません。 ここでAYAの挙動を思い出していただきたいのですが、関数内にあるものはすべて評価されて、そのうちの1つがランダム(またはオプションに応じてどれか1つ)結果とされます。 ……というややこしい話はほったらかして、要するに、ランダムトークをン百個書いたら%()の処理もン百回しなきゃならんということで、重くなるのは想像できるかと思います。*2 さて、これでRandomTalkExと名前を変えた部分の説明は終わりですが、このままですと%()の中身がちゃんと埋め込まれないという事態になってしまいます。これを解決するのが、 TOSTR(EVAL(CHR(0x22)+RandomTalkEx()+CHR(0x22))) というわけです。TOSTRは「文字列として扱いなさい」という命令ですがここでは深い意味はありません。キモはEVALとその括弧の中身です。 EVALは「括弧でくくって渡された中身をAYAのスクリプトとして実行しなさい」という命令です。そして、CHR(0x22)は " のことです。 ……何が起こっているのか大体読めてきたと思います。EVALが実行するスクリプトは、 " + RandomTalkExの結果 + " となり、%()の埋め込み処理を行う式を作っています。 もっとマニアックに攻めてみたい方向け†ほかのゴーストに使える形ではない高速化の工夫などは http://ssp.shillest.net/ghost.html のEmily/Phase4にいろいろ導入されています。見本にするにはかなりキチャナイ辞書ではありますが、話のネタにはなるかと思います(苦笑) |
最終更新日: 2006-12-09 (土) 14:41:58
|