非同期のアセット構築・コンポーネント構築の実装
ousttrue opened this issue · comments
ousttrue commented
RunTimeロードのコンポーネント構築で、FrameRateを維持するために1フレームの処理を小出しにする。
全体の処理時間は伸びるが、フレーム当たりの処理時間をなるべく抑えてスパイクを回避する。
スクリプトスレッド上の実行が必要な Mesh, Texture2D等のUnity Assetの生成を1フレームに一つずつにする方向性。
ousttrue commented
にて実装。
処理を細かく分けて間で yield return null
する。
これを再利用しようとすると可読性が著しく落ちるのでこれでいいかなと。
https://github.com/vrm-c/UniVRM/blob/master/Assets/VRM/UniGLTF/Scripts/IO/ImporterContext.cs#L509
のような非同期の手順構築は読みにくい。