Closed bdunderscore closed 1 month ago
https://github.com/suzuryg/face-emo/blob/261ab2c18b55ca90736efe639a5b40d790011b61/Packages/jp.suzuryg.face-emo/Editor/Detail/Localization/LocalizationSetting.cs#L90
この件はLocalizationTableをリークしてしまい、C#オブジェクトと違ってエディター再起動までヒープに残ってしまいます。そのため、Resources.FindObjectsByTypeAllなどのヘルパーが非常に重くなり、いろんな操作が重くなります。
Resources.FindObjectsByTypeAll
リークを確認した時点では16GBほどのヒープサイズになってました(メモリーダンプは解析できなかったので確定ではないが、再起動した後はここだけが急速に増えてました)
ハックではありますが、このような修正を入れたらオブジェクトの増加が止まりました
private static LocalizationTable en_us; public static LocalizationTable GetTable(Locale locale) { if (locale == Locale.ja_JP) { return AssetDatabase.LoadAssetAtPath<LocalizationTable>($"{DetailConstants.LocalizationDirectory}/ja_JP.asset"); } else { // en_US has the table in source code, not asset. en_us = en_us != null ? en_us : ScriptableObject.CreateInstance<LocalizationTable>(); return en_us; } }
https://github.com/suzuryg/face-emo/blob/261ab2c18b55ca90736efe639a5b40d790011b61/Packages/jp.suzuryg.face-emo/Editor/Detail/Localization/LocalizationSetting.cs#L90
この件はLocalizationTableをリークしてしまい、C#オブジェクトと違ってエディター再起動までヒープに残ってしまいます。そのため、
Resources.FindObjectsByTypeAll
などのヘルパーが非常に重くなり、いろんな操作が重くなります。リークを確認した時点では16GBほどのヒープサイズになってました(メモリーダンプは解析できなかったので確定ではないが、再起動した後はここだけが急速に増えてました)
ハックではありますが、このような修正を入れたらオブジェクトの増加が止まりました