コアスクリプト速度改善 - SA_CoreSpeedImprovement.js
シェア用テキスト:
▼コアスクリプト速度改善(seea様作) - SA_CoreSpeedImprovement.js
https://plugin.fungamemake.com/archives/16697
コアスクリプトのうち、ボトルネックとなっている部分の実行速度を改善します。
ふりがな:こあすくりぷとそくどかいぜん
機能概要: コアスクリプトのうち、ボトルネックとなっている部分の実行速度を改善します。
利用規約(ライセンス): MITライセンス
作者:seea
作者サイト:https://nekono.org
直接ダウンロード:Zipファイルダウンロードページ:https://tm.lucky-duet.com/viewtopic.php?t=5417
ファイル名:SA_CoreSpeedImprovement.js
プラグインのヘルプ:
/*: * ============================================================================== * @plugindesc v18.1 SA Core Speed Improvement (Define at the top) * @author seea * @require rpg_core.js v1.5.1 * * @help * SA Core Speed Improvement -- コアスクリプト速度改善 * * 必須 - rpg_core.js v1.5.1 * * コアスクリプトのうち、ボトルネックとなっている部分の実行速度を改善します。 * * 画面内に表示されるイベントの数が多くなると、RPGツクールMV バージョン 1.5.1 の * 実行速度の低下が目立つ場合があります。 * * 本プラグインは、コードの見通しは良いが実ゲームの速度を遅くするコードを * 見通しは悪いが機能は同等の、Chromeブラウザが高速に処理するコードに置き換え、 * ゲームの速度の改善を目指します。 * * Chromeブラウザのプロファイラを用いて検出した、ゲームの速度に特に影響の大きい * コードに限り、置き換えています。 * * 【使用方法】 * ・他の全てのプラグインよりも先に定義してください。 * * 【補足】 * ・制作者は、本プラグインの内容がコミュニティ版コアスクリプトに適用されることを * 望みます。(CWCキャッシュは特殊な手法なので除きます) * ・将来、RPGツクールMV本体のバージョンアップにともない、改善内容が反映されて * このプラグインが不要となる場合があります。 * その際は、プラグインを削除してください。 * * 【追加機能】 * v18.1+ * CWCキャッシュ(実験的) * 半歩移動プラグイン(HalfMove.js) (By トリアコンタン様) と * 8方向移動(タッチパネル対応版)(Yami_8DirEx.js) (By 神無月サスケ様, Yami様) * の二つを導入している時、マウス移動すると非常に重たくなる場合があります。 * * マウス移動時にキャラクター衝突判定処理が5桁の回数に到達することがあり、 * これが動作を重たくして、FPSを低下させる要因の一つになっています。 * 一つ一つの判定処理を高速化すると効果はありますが、それも限界があります。 * * そこで、この機能は衝突判定結果をキャッシュして、一定時間以内の同じ座標 * についての判定を省略することにより、応答速度を上げてFPS低下を抑えます。 * * CWCキャッシュをONにすると副作用が発生する可能性があります。 * 次のようなケースです。 * * - NPCが高速で走り回っている場合 * - シンボルエンカウント方式を使用し、かつシンボルの動きが高速の場合 * * 一瞬ですがキャッシュが古い位置情報を元に判定結果を返す時間帯があるため、 * 主人公キャラクターがNPCやシンボルをすり抜けて移動したり、 * タイミングをはかって一瞬の隙間の発生を狙って操作したのに通れなかった、 * というケースが考えられます。 * * 特にマウスを使ったキャラクターの動きがゲームの戦闘の勝敗に直接繋がる場合は * CWCキャッシュを利用するかどうかは慎重に検討してください。 * * また、マウスやタッチパネルに対応する予定がない場合は、速度が低下しないため * CWCキャッシュをONにする必要は全くありません。 * * 設定項目 Minimum CWC-cache holding count は、キャッシュの最小の保持期間を * 指定します。 * キャッシュは2つの箱があり、保持期間が経過すると片方ずつ空になります。 * 高速化のため、個々のキャッシュの寿命は管理しません。箱ごと管理します。 * そのため、設定した最小保持期間の1倍 ~ 2倍の寿命があります。 * * 設定値を増やすと、キャッシュが長時間保持されるため効果が高いですが、 * おかしな移動をする場合があります。NPCやシンボルがあまり動かない静かな * ゲームは、値を増やしても違和感は少ないでしょう。 * * 設定値を減らすと、キャッシュが短時間で消されるため効果は薄くなりますが、 * 副作用の発生を抑える効果があります。 * * @param Enable CWC-cache * @desc CWCキャッシュを有効にします。(実験的)(ON/OFF) * @default false * @type boolean * * @param Minimum CWC-cache holding count * @desc CWCキャッシュの保持期間の最小値(単位:Frame) * 最大で設定値の2倍の時間まで保持します。既定値:15 * @default 15 * @type number * * @param Logging level * @desc ログ出力量を指定します 0:No Log 1:Fatal 2:+Error 3:+Warning 4:+Info 5:+Debug * @default 4 * @type number */