减少程序启动时,加载AB的数量、体积。

减少前: 登录(游戏公告)610MB/205个AB;打怪:816MB/393个AB
减少后: 登录(游戏公告)100MB/136个AB;打怪:457MB/346个AB
具体改动:
- 不打包mat.unity3d,避免依赖爆炸。
- 提前打UI与effect AB,减少他们对别的AB的依赖。
This commit is contained in:
Liang Zhao 2022-02-08 10:53:21 +08:00
parent 2bab68c591
commit 138755c88f

View File

@ -353,6 +353,14 @@ public class AssetBundleMap : EditorWindow
addBuildAssetsCommon(maps, "config.unity3d", Constants.CsvConfig, "*.csv");
addBuildAssetsCommon(maps, "xml.unity3d", Constants.XmlConfig, "*.xml");
if (showProcessBar)
EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "UI...", 0.35f);
addBuildAssetsUI(maps);
if (showProcessBar)
EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "Effect...", 0.37f);
addBuildAssetsEffect(maps);
// audio
if (showProcessBar)
EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "Audio...", 0.4f);
@ -378,15 +386,6 @@ public class AssetBundleMap : EditorWindow
EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "Actor...", 0.7f);
addBuildAssetsActor(maps);
if (showProcessBar)
EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "Effect...", 0.75f);
addBuildAssetsEffect(maps);
if (showProcessBar)
EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "UI...", 0.8f);
addBuildAssetsUI(maps);
if (showProcessBar)
EditorUtility.DisplayProgressBar("Generate Bundle Build Map", "Scene...", 0.85f);
addBuildAssetsScene(maps);
@ -596,10 +595,12 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType != "cs")
{
addData(maps, abName, dependencyAssetName);
@ -639,10 +640,12 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType != "cs")
{
addData(maps, abName, dependencyAssetName);
@ -681,10 +684,12 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType == "jpg" || fileType == "png" || fileType == "tga" || fileType == "tif" ||
fileType == "psd")
{
@ -725,10 +730,12 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType != "cs")
{
addData(maps, abName, dependencyAssetName);
@ -767,10 +774,12 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType == "jpg" || fileType == "png" || fileType == "tga" || fileType == "tif" ||
fileType == "psd")
{
@ -825,10 +834,12 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType == "jpg" || fileType == "png" || fileType == "tga" || fileType == "tif" ||
fileType == "psd")
{
@ -888,10 +899,12 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType == "jpg" || fileType == "png" || fileType == "tga" || fileType == "tif" ||
fileType == "psd")
{
@ -985,10 +998,14 @@ public class AssetBundleMap : EditorWindow
{
addData(maps, ShaderAbName, dependencyAssetName);
}
// Unity:
// Do not collect all materials into one AssetBundle, otherwise the dependencies will explode and the streaming experience will be terrible.
#if false
else if (fileType == "mat")
{
addData(maps, MatAbName, dependencyAssetName);
}
#endif
else if (fileType == "prefab")
{
if (dependencyAssetName.Contains("Scenes/Scene_common"))