お世話になっております。
エディタにて、ソースコントロールで SVN リポジトリに接続した状態での
アセット操作を行った際の待ち時間に関する問い合わせとなります。
私たちのプロジェクトでは、エディタ上でひとつのアセットの名前を変更しようとしただけで
最初のダイアログが出てくるまでに3分前後の待ち時間が発生している状態となっています。
この症状について、後述のエンジン改造を施すことで対処できればと思っているのですが、
影響範囲が読めず、対応に問題や懸念がないか見解を頂けますと幸いです。
調査してわかった要因:
待ち時間の多くが FSubversionConnectWorker::Execute() で行われている
作業コピールート以下全ファイルのステータス取得による待ち時間となっていた
改造内容の概要:
FSubversionConnectWorker::Execute() で全ファイルを厳格にチェックするのではなく、
作業コピールートフォルダ直下のファイル、フォルダに限定する
改造箇所:
SubversionSourceControlOperations.cpp
`bool FSubversionConnectWorker::Execute(FSubversionSourceControlCommand& InCommand)
{
…省略…
// 改造箇所。実際にはエディタ環境設定で動作を切り替えれるようにしている
#if 0
// 変更前
InCommand.bCommandSuccessful = SubversionSourceControlUtils::RunCommand(TEXT(“status”), Files, StatusParameters, ResultsXml, InCommand.ErrorMessages, InCommand.UserName, Password);
#else
// 変更後
StatusParameters.Add(TEXT(“–depth=immediates”));
InCommand.bCommandSuccessful = SubversionSourceControlUtils::RunCommand(TEXT(“status”), Files, StatusParameters, ResultsXml, InCommand.ErrorMessages, InCommand.UserName, Password);
#endif
…省略…
}`
元々の実装のほうがチェックが厳密になるとは思っているものの、問題が起きるシチュエーションは限定的で、冗長なチェックではないかとも考えています。
そのため、上記のようにチェック処理を簡略化することで、エディタでの操作にかかる時間を短縮できないものかと思っています。
上記のエンジン改造が、エディタ上の様々な操作やプロジェクトに問題を引き起こす可能性はありますでしょうか。
こちら、懸念や見解等、ご意見を頂けますと大変助かります。
以上、何卒宜しくお願い致します。