
unity性能调试和优化
文章平均质量分 65
调试内存,cpu,gpu的性能损耗,方法分析
js0907
这个作者很懒,什么都没留下…
展开
-
unity 物理更新速率控制
GUP帧率控制(1)proect setting 中Time的设置Fixed TimeStep : 此值控制fixedUpdate 的时间间隔 目标帧率30fps : 0.03 目标帧率50fps : 0.02 作用: 如果帧率在运行时下降,也就是unity 每帧都多次调用FixedUpdate ,可能会因为物理内容过多而造成CPU性能问题因此:设置 FixedTimeStep的值 随着帧率的变化而变化, 尤其是在低帧率情况下 降低CPU无畏的开销Maximum Allowed T.原创 2021-09-18 10:44:43 · 1506 阅读 · 0 评论 -
移动GPU多线程基础基本知识总结
先吐槽一下自己的理解路程:(1)自己先看过移动GPU相关的术语和解释,只get到了多线程和并行等之类的名词,至于多线程是怎么一步一步来产生使用优化的???!!!!! 还是稀里糊涂的(2)后来看《Real-time rendering 4th》 中文版,由于自己对名词的混淆,感觉自己全乱了,我擦!!!!!!!(3)怎么办 ?看原著!!!!!!! 抱着有道词典,开始啃相关的内容,有了新的感悟,将书中的知识摘抄整理如上图,总算是把知识点串起来了!!!!!!线程的定义:每个fragment的 pixed原创 2021-09-09 15:31:55 · 446 阅读 · 0 评论 -
ShaderLaber的组成使用和分析
1.ShaderLaber的构成:由四个部分组成:shader Text; ShaderCompiler; ShaderLabAsset; Shader Runtime上面的四个部分组成了ShaderLab, 我们说的 ShaderLab 大 是 上面的四个部分大。2.ShaderLab Asset::shader Bundle 或者是 AlwaysIncludeShaders 这两个常见的地方其中 AlwaysIncludeShaders 下原创 2021-09-03 21:27:44 · 654 阅读 · 0 评论 -
移动GPU相关解释
(一)硬件: GPU 相关:GPU 拥有更多的算术运算单元(ALU),更适合做连续的同质的运算(1)ALU : 连续的 同质的运算(二) 其它(1)IMR(2)TBDR ( Tiled basd Deferred rendering) 基于片上的延迟渲染:TBDR 的产生节省就是 降低能耗 省电和不发热,Deferred: 这里的意思是 : 等待 + 批处理(3) early-z:(1).prepass 先写入深度(2)然后各自画各自的东西(3)多一层pass 就是多一次dr原创 2021-08-07 12:13:19 · 1483 阅读 · 1 评论 -
unity 渲染帧率优化-OnDemandRendering
OnDemandRendering 相关的API:(1)OnDemandRendering.renderFrameInterval = 3;解释说明:在一些静态UI的时候把OnDemandRendering.renderFrameInterval设置为3,表示渲染频率降为1/3。假设正常是30fps,那么渲染帧率就是10fps。但是在iOS手机上测试后发现一个问题,画面表现为透明的UI在一层层地叠加。(2)垂直同步 开启和不开启 帧率的计算是不一样的:(2.1)开启了垂直同步:If Q原创 2021-06-26 15:08:04 · 4288 阅读 · 3 评论 -
Unity优化批处理Static Batch,GpuInstancing,SRP
(一)一次Drawcall 的产生都经历了哪些过程:(二)Static Batching(三)SRP Batching(四) GPU Instancing原创 2021-06-19 15:22:46 · 801 阅读 · 5 评论 -
unity中NGUI制作UI界面的小建议
NGUI和UGUI的渲染方式是不同的,UI界面的拼接也是有差别的,这里就只说NGUI拼接UI界面相关的事项一.NGUI中的drawCall统计规则:(1)一个UITexture就是一个单独的drawCall(2)每个Panel就是一个drawCall(3)相邻的depth的相同图集 合成一个drawcall(如果相邻的depth使用不同的图集,drawcall不能合并,每个图集就单独计为一个drawcall)二.NGUI中的刷新规则:(1)首先对UiPanel,按照depth进行排序(2)然后原创 2020-08-17 00:55:34 · 588 阅读 · 1 评论 -
ios提审删除UIWebView
苹果2020年4月拒绝还在使用UIWebView的App提交,为此要全面清除存在的UIWebView代码。打开终端,cd到项目根目录。执行以下命令,就能看到哪些文件内还在有UIWebview的踪迹。 grep -r UIWebView .等查询结果出来,就可以查看到哪些库用到了webView,哪些脚本中有相关代码,删除代码,更新库引用,完美解决...原创 2020-07-15 12:00:56 · 1475 阅读 · 0 评论 -
unity打包AssetBundle的优化点
1.打包压缩:LZ4BuildAssetBundleOptions.ChunkBasedCompression2.打包后加载不用AssetBundle加载Asset的扩展名BuildAssetBundleOptions.DisableLoadAssetByFileNameWithExtension3.打包时禁用TypeTree!!!(此标签的意义:用不同的unity版本发布bundle热更 才会有意义,否则请禁用!!!)BuildAssetBundleOptions.DisableWriteTy原创 2020-10-30 00:41:41 · 1521 阅读 · 0 评论 -
unity-资源加载和卸载流程梳理
(一)最近整理资源加载和卸载,梳理了下思路画了自认为的流程图本框架中共3块组成:对象池,资源池(AssetBundle加载出的Asset的中间管理类),AssetBundleManager(这块主要是打包的时候已经决定配置好了各个Asset间的依赖关系,与此文的关系不大,后面整理一键打包再细说)1.同步加载关于Instantiate的小解释:你 Instaniate一个Prefab,是一个对Assets进行Clone(复制)+引用结合的过程,GameObject transform是Clone是新生原创 2020-06-29 00:45:44 · 1407 阅读 · 0 评论 -
unity中multi_complie产生shaderVariant,ShaderVariantCollection优化shaderVariant
一. shaderVariant的缺失,可能会造成不同平台的差异(unity工程editor模式和真机模式表现不一致)例如:如果你在unity中editor模式下表现正常,但是打包到真机后出现黑片(lightMap未正常表现)?紫片(shader直接丢失)?--------------恭喜你----原因很可能是shader的变体 shaderVariant没有正常表现。核查问题的方法:(1)在editor模式下frameDebug 查看正常的表现shader的属性和使用编译情况(查看编译后的变体代码S原创 2020-07-29 01:35:14 · 2012 阅读 · 0 评论 -
Unity中Profiler查看CPU性能参数,unity垂直同步VSync Count
1.垂直同步的解释:一个图像是由一个二维的矩阵组成的,水平同步是每一行进行读取垂直同步是竖向的同步VSync Count中的参数解释0:Don’t Sync1:Every V Blank2:Every Second V Blank关于帧率:帧率是一个我们谈论游戏性能的基本标准,但是当我们提升游戏性能时,更因该想到的是渲染一帧需要多少毫秒。帧率的相对改变在不同范围会有不同的变化。比如,从60到50FPS呈现出的是额外3.3毫秒的运行时间,但是从30到20FPS呈现出的是额外的16.6毫秒的运行原创 2020-07-19 01:00:04 · 2887 阅读 · 0 评论 -
unity连接手机设备调试FrameDebug和Profiler,Memory加载和卸载调试
1.首先ProjectSettings中设置:2.直接选择 BuildAndRun会自动安装到手机并在Editor中输出,打开frameDebug,![在这里插入图片描述](https://img-blog.csdnimg.cn/20200812221226982.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pzMDkwNw,size_16如上原创 2020-08-12 22:23:11 · 1948 阅读 · 0 评论 -
unity资源加载 耗时瓶颈分析,Async Upload Pipeline和Background Loading Priority
unity资源加载模块,加载是否卡顿,等待耗时是否长久,资源加载和引用是否合理等都会直接影响 内存,CPU性能。下面直接说核心问题:核心问题:1.加载耗时瓶颈2.资源加载是否合理3.实例化操作是否合理4.Active/Deactive操作是否合理以下内容会就上面的核心问题进行分析:...原创 2020-08-13 01:06:13 · 2204 阅读 · 2 评论