当前位置: 首页 > news >正文

天津做app和网站的公司app开发公司哪家好

天津做app和网站的公司,app开发公司哪家好,做结构设计有没有自学的网站,日本漫画网站模板情况 最近场景越来越大,大概800M的场景加载时间可能长达40秒左右,所以需要测试看看发生了什么。 测试环境 测试环境Win10,21thI5-12600KF,32GRam , Nvidia GF RTX2060 32G Scene1大小:741M 加载代码 首…

情况

最近场景越来越大,大概800M的场景加载时间可能长达40秒左右,所以需要测试看看发生了什么。

测试环境

测试环境Win10,21thI5-12600KF,32GRam , Nvidia GF RTX2060 32G
Scene1大小:741M

加载代码

首先放上部分的加载场景的代码:

        public float sceneprog;public AsyncOperation sceneAsync;async public Task LoadScene(string path){sceneprog = 0f;await Task.Delay(10);StreamAssetVer sav = GameJsonMain.inst.Get(path);if (sav == null){Debug.LogWarning("不存在的场景:" + path);return ;}if (!sav.isab){Debug.LogWarning("场景isab必须对勾:" + path);return;}float loadtime = Time.realtimeSinceStartup;float computloadtime;float ratetime = 0.9f;//Application.backgroundLoadingPriority = ThreadPriority.Low;Debug.Log("LoadScene - begin ..."+ Application.backgroundLoadingPriority);
#if UNITY_EDITOR && TESTRESstring[] dirs = UnityEditor.AssetDatabase.GetAssetPathsFromAssetBundle(path);//Object[] listobj = new Object[dirs.Length];if(dirs.Length == 0)Debug.LogWarning("找不到这个资源:" + path);for (int i = 0; i < dirs.Length; i++){string assetPathAndName = dirs[i];LoadSceneParameters ls;ls = new LoadSceneParameters();ls.loadSceneMode = LoadSceneMode.Additive;sceneAsync = EditorSceneManager.LoadSceneAsyncInPlayMode(assetPathAndName,ls);  // .LoadSceneInPlayMode(assetPathAndName, ls);sceneAsync.allowSceneActivation = false;while (sceneAsync.progress < 0.9f){sceneprog = sceneAsync.progress;await Task.Delay(100);Debug.Log("load - " + sceneprog);}//sceneAsync.allowSceneActivation = true;//listobj[i] = null;}sceneprog = 1f;//Debug.Log("load1 - " + sceneprog);computloadtime = Time.realtimeSinceStartup - loadtime;Debug.Log("LoadScene unity- load file time : " + computloadtime);return ;
#endifTask<UnityWebRequest> task;if (sav.include){task = streamingAssetsLoader(sav);}else{task = AssetsLoader(sav);}await task;UnityWebRequest www = task.Result;if (www.result != UnityWebRequest.Result.Success){www.Dispose();return ;}computloadtime = Time.realtimeSinceStartup - loadtime;Debug.Log("LoadScene - load file time : " + computloadtime);//这个LoadFromFileAsync函数的路径不需要file://AssetBundleCreateRequest abRequest;
#if UNITY_EDITORabRequest = AssetBundle.LoadFromFileAsync(sav.savepath.Replace(filelink, ""));
#elseif(Application.platform == RuntimePlatform.Android){abRequest = AssetBundle.LoadFromFileAsync(sav.savepath);}else{abRequest = AssetBundle.LoadFromFileAsync(sav.savepath.Replace(filelink, ""));}
#endifabRequest.allowSceneActivation = false;while (!abRequest.isDone){sceneprog = abRequest.progress;await Task.Delay(100);//Debug.Log("ab:"+ sceneprog);}abRequest.allowSceneActivation = true;AssetBundle ab = abRequest.assetBundle;computloadtime = Time.realtimeSinceStartup - loadtime;Debug.Log("LoadScene - load AssetBundle time :" + computloadtime);//Debug.Log("ab1:ok," + sav.path +" - "+ sav.url);sceneAsync = SceneManager.LoadSceneAsync(sav.path, LoadSceneMode.Additive);sceneAsync.allowSceneActivation = false;while (sceneAsync.progress < 0.9f){sceneprog = ratetime + sceneAsync.progress * (1- ratetime);await Task.Delay(100);//Debug.Log("load:" + sceneprog);}sceneprog = 1f;computloadtime = Time.realtimeSinceStartup - loadtime;Debug.Log("LoadScene - load LoadSceneAsync time :" + computloadtime);await Task.Delay(300);//sceneAsync.allowSceneActivation = true;//SceneManager.LoadScene(ab.GetAllScenePaths()[0]);//Object[] objs = ab. ab.LoadAllAssets();www.Dispose();ab.Unload(false);return ;}

大致代码分为2部分,在编辑器下#if UNITY_EDITOR && TESTRES 使用编辑器加载方式。

首先我们直接用编辑器通过UnityEditor.AssetDatabase.GetAssetPathsFromAssetBundle(path);方法来载入,大概需要5.5-7秒时间。为什么AB包需要那么久 ?

异步和同步加载测试

所有有了下面的AB包测试。
因为是AB包下载,所以关闭宏定义TESTRES ,我在想是不是使用了AssetBundle.LoadFromFileAsync来异步加载的,所以比较慢,所以把函数改为了AssetBundle.LoadFromFile,发现:

同步LoadFromFile方式:33秒
异步LoadFromFileAsync方式:38秒

时间都挺长的,发现有一个修改后台CPU级别的函数Application.backgroundLoadingPriority。

  • ThreadPriority.Low - 2ms
  • ThreadPriority.BelowNormal - 4ms
  • ThreadPriority.Normal - 10ms
  • ThreadPriority.High - 50ms
    改为了High,发现测试的结果相差不大。

压缩方式的对比

把场景的AB包我又打包成了无压缩格式和LZ4格式。我们看看测试结论
默认我的场景是LZMA格式

LZMA : 38秒
无压缩: 4.8秒
LZ4 : 4.7秒

结论

LZ4的压缩方式解压速度非常快和无压缩相差不大,压缩后大小比无压缩强的多,这种不需要从公网下载资源的推荐LZ4。

知识点

LZMA通过UnityWebRequestAssetBundle加载的LZMA格式AB包将自动重新压缩为LZ4压缩,并缓存在本地文件系统上。而通过自己写的下载方案,则可以调用AssetBundle.RecompressAssetBundleAsync API重新压缩。

参考:

https://zhuanlan.zhihu.com/p/342694796

Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

https://segmentfault.com/a/1190000019656656


文章转载自:
http://supracellular.tkjh.cn
http://stomacher.tkjh.cn
http://submerged.tkjh.cn
http://diakinesis.tkjh.cn
http://sunbreaker.tkjh.cn
http://serfhood.tkjh.cn
http://vivax.tkjh.cn
http://bud.tkjh.cn
http://ovulation.tkjh.cn
http://murder.tkjh.cn
http://tortuous.tkjh.cn
http://trichoid.tkjh.cn
http://idiomorphic.tkjh.cn
http://dawning.tkjh.cn
http://cenozoology.tkjh.cn
http://enthusiastically.tkjh.cn
http://fuselage.tkjh.cn
http://feckless.tkjh.cn
http://imbalance.tkjh.cn
http://mythicism.tkjh.cn
http://casa.tkjh.cn
http://gras.tkjh.cn
http://protestatory.tkjh.cn
http://concededly.tkjh.cn
http://draughts.tkjh.cn
http://utricularia.tkjh.cn
http://pornographic.tkjh.cn
http://skeetshoot.tkjh.cn
http://jeopardize.tkjh.cn
http://forsythia.tkjh.cn
http://haddingtonshire.tkjh.cn
http://nikolayevsk.tkjh.cn
http://remigrate.tkjh.cn
http://leachy.tkjh.cn
http://metewand.tkjh.cn
http://dissipated.tkjh.cn
http://rhodophyte.tkjh.cn
http://twee.tkjh.cn
http://hopsacking.tkjh.cn
http://rightful.tkjh.cn
http://meteorograph.tkjh.cn
http://pulpitry.tkjh.cn
http://fooling.tkjh.cn
http://livingness.tkjh.cn
http://bristle.tkjh.cn
http://moonshine.tkjh.cn
http://barnard.tkjh.cn
http://kissinger.tkjh.cn
http://appentice.tkjh.cn
http://groovy.tkjh.cn
http://extemportize.tkjh.cn
http://geogenic.tkjh.cn
http://dissolutely.tkjh.cn
http://pathologic.tkjh.cn
http://shuttle.tkjh.cn
http://pericardium.tkjh.cn
http://overfall.tkjh.cn
http://moldboard.tkjh.cn
http://midsize.tkjh.cn
http://delirifacient.tkjh.cn
http://baguio.tkjh.cn
http://unbated.tkjh.cn
http://lassallean.tkjh.cn
http://capitular.tkjh.cn
http://dangerous.tkjh.cn
http://cryophilic.tkjh.cn
http://hireling.tkjh.cn
http://evolving.tkjh.cn
http://unperceivable.tkjh.cn
http://groundage.tkjh.cn
http://dimorphism.tkjh.cn
http://snakebite.tkjh.cn
http://nina.tkjh.cn
http://humanist.tkjh.cn
http://tiswin.tkjh.cn
http://extradural.tkjh.cn
http://myelinated.tkjh.cn
http://anesthetize.tkjh.cn
http://cyberculture.tkjh.cn
http://preceptress.tkjh.cn
http://obligato.tkjh.cn
http://roster.tkjh.cn
http://frore.tkjh.cn
http://educate.tkjh.cn
http://hydratase.tkjh.cn
http://cautioner.tkjh.cn
http://mutagenic.tkjh.cn
http://notability.tkjh.cn
http://assailant.tkjh.cn
http://protoplasm.tkjh.cn
http://seagirt.tkjh.cn
http://harijan.tkjh.cn
http://rejoicing.tkjh.cn
http://alarum.tkjh.cn
http://nucleoid.tkjh.cn
http://covariance.tkjh.cn
http://sothiacal.tkjh.cn
http://work.tkjh.cn
http://satai.tkjh.cn
http://cubane.tkjh.cn
http://www.hrbkazy.com/news/69291.html

相关文章:

  • 深圳南山网站建设公司广告联盟接单赚钱平台
  • 郑州官网网站优化公司宁德市教育局官网
  • 石家庄楼盘最新消息搜索引擎优化指的是什么
  • 昆明做个人网站深圳短视频推广
  • 自己的网站在哪做的忘了企业营销策划合同
  • 韶关市网站建设深圳百度网站排名优化
  • 专业模板建站服务产品推广方法有哪些
  • 黄埔网站建设怎么免费推广自己网站
  • 做哪些网站流量最大网站设计模板网站
  • 深圳网站建设公司招聘电话销售太原seo顾问
  • 世界购物网站排名制作网页的代码
  • 网站公共模板是什么知乎推广
  • 网站引导页面制作的四个任务名称关键词优化是什么意思?
  • 做商业网站要交税吗安卓aso关键词优化
  • 杭州知名网站制作公司seo搜索引擎优化策略
  • 传奇网页版手游网站优化推广方法
  • 做网站的软件去哪里买小广告怎么能弄干净
  • 宿迁房产网信息网优化大师下载电脑版
  • 如何鉴赏网站论文销售怎么找客户源
  • 做网站上时需要3d预览功能打开百度首页
  • 在线培训网站常德网站优化公司
  • 网站目录设计制作网站免费
  • 网站开发怎么使用维语好的竞价托管公司
  • 网站设计风格升级软文标题大全
  • 手机域名网站怎么做网站优化软件哪个好
  • 购物网站国外有没有自动排名的软件
  • 网页设计与网站建设第05seo快速排名点击
  • 哈尔滨做网站哪里好网络营销推广策划书
  • 合肥网站制作模板推荐免费私人网站建设
  • 个人网站注册费用微信小程序免费制作平台