AssetBundleとシェーダー、ロードが遅い場合の対策
またまた素晴らしい資料が公開されてた。
内容はAssetBundleを使用した際に非常に大きなローディングがかかる場合の原因と対策。大雑把に言えばこんな感じ。
- シェーダーのビルドはランタイム。しかも重い。
(シェーダーのビルドはOpenGLの仕様によるものだった気がする) - AssetBundleが異なる場合は同一シェーダーを使ってても別扱い
- 1と2の理由により、AssetBundleからシェーダーごと取得すると時間がかかる
特にシーンを丸ごとプレハブ化してAssetBundleに突っ込み、1シーンでランタイムにAssetBundleを読み込んでシーン管理している人は注意かもしれない。