perf : webgl platform use crc verify the bundle when first time downloaded

WebGL平台首次下载会验证CRC。
pull/539/head
何冠峰 2025-04-18 18:21:24 +08:00
parent 7eb74d4dd1
commit bd5ce1e6bd
1 changed files with 16 additions and 5 deletions

View File

@ -122,7 +122,7 @@ namespace YooAsset
{
if (_disableUnityWebCache)
{
var downloadhandler = new DownloadHandlerAssetBundle(_requestURL, 0);
var downloadhandler = new DownloadHandlerAssetBundle(_requestURL, Bundle.UnityCRC);
#if UNITY_2020_3_OR_NEWER
downloadhandler.autoLoadAssetBundle = false;
#endif
@ -132,13 +132,24 @@ namespace YooAsset
{
// 注意:优先从浏览器缓存里获取文件
// The file hash defining the version of the asset bundle.
uint unityCRC = Bundle.UnityCRC;
Hash128 fileHash = Hash128.Parse(Bundle.FileHash);
var downloadhandler = new DownloadHandlerAssetBundle(_requestURL, fileHash, unityCRC);
var cachedBundle = new CachedAssetBundle(Bundle.BundleName, fileHash);
if (Caching.IsVersionCached(cachedBundle))
{
var downloadhandler = new DownloadHandlerAssetBundle(_requestURL, cachedBundle, 0);
#if UNITY_2020_3_OR_NEWER
downloadhandler.autoLoadAssetBundle = false;
downloadhandler.autoLoadAssetBundle = false;
#endif
return downloadhandler;
return downloadhandler;
}
else
{
var downloadhandler = new DownloadHandlerAssetBundle(_requestURL, cachedBundle, Bundle.UnityCRC);
#if UNITY_2020_3_OR_NEWER
downloadhandler.autoLoadAssetBundle = false;
#endif
return downloadhandler;
}
}
}
}