読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

エディタを日本語設定にするとプロジェクトの読み書きが遅くなる

日本語 仕様・不具合 サンプルデータ

「昨日のラジアルインパクトのプロジェクトが妙に遅い件、だいたいの原因はわかった」

・日本語設定にすると何分もかかるけど、英語設定だと若干遅いものの1分程度で読み込める
・大量のブループリントを含んだアセットが、プロジェクトにあるだけで重い。レベルに配置してなくても関係なし
・ブループリントを含んだアクターの編集画面を開いたり保存したりする時も遅い

「まずエディタが日本語設定になってると遅い」

妹「またしても日本語いじめが行われている……」

「日本語だとブループリントの保存が遅くなるって話は聞いてたんだけど、どうも開く時にも遅くなってるらしい。しかも倍とか3倍とかそんなレベルじゃなく遅い」

妹「アクションゲームのやつもなんか遅くなってきたなあって感じはしてた」

「そしてそれはレベルに配置されててもされてなくても一緒。レベル上から消してある状態でも同じように遅かったから。プロジェクトを開く時に、ウィンドウが出る前も遅いけど、出た後にもアセットの探索中っていうメッセージが出てフリーズするから、何かを探索してるらしい」

妹「いったい何を探索してるのか」

「アセット同士の関連性を調べたりとか、ブループリントで右クリックした時の一覧用のデータとかじゃないかな。とにかくノード1個1個について色々調べてて、量が多いとそれが遅くなって、その時に日本語だと何かしらの処理が挟まって更に遅くなってる感じ」

妹「英語に設定すれば助かるの?」

「それもあるんだけど、英語にしてもやっぱり遅くはなってるから、ノード数もあんまり増やさない方が良さそう」

f:id:una_unagi:20160221231147p:plain

「例えばこのブループリント、同じようなパターンで4つに分岐してるけど、最初にsetTextした後の処理は全部同じなんだから、並びを1つにして整理するだけで1/4になる。こういう感じで、ぱっと見て整理できそうなパターンが大量にあるから、ノードの数がかなり多くなってる」

妹「わたしのも結構こういう風になってるのある気がするんだけど」

「だいたい一緒だけど微妙に違うとかで、整理しにくいやつはあるけど、完全に同じノードがいくつも並んでるとかならやっぱり整理した方がいいと思う。HTML5版の起動が妙に遅かったのもノード数が原因だろうし」