ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何降低无效的物理开销

2022-05-25 10:32:26  阅读:165  来源: 互联网

标签:开销 EventSystem 无效 Shader AssetBundle UWA 问答 社区 物理


1)如何降低无效的物理开销
​2)EventSystem.Update如何优化比较合适
3)如何定位UWA报告中检测到的Standard Shader问题
4)如何定位在UWA AssetBundle检测中看到n/a的网格问题


这是第298篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)

Physics

Q:如果Unity没有用到物理模块部分,如何将这部分关闭?以及是否可以动态开关?

A1:以下供参考:
Physics.autoSimulation = false;
Physics.autoSyncTransforms = false;//不用NGUI或者Raycast可关闭

感谢萧小俊@UWA问答社区提供了回答

A2:可以选择动态关闭,也可以直接关闭Physics设置里面的Auto Simulation,如果用到射线检测或者NGUI,需要把下面的Auto Sync Transforms勾选。

 

感谢小ben@UWA问答社区提供了回答


UGUI

Q:请问EventSystem的优化怎么下手比较合适?对EventSystem的性能优化有何建议?

A1:EventSystem的优化可以参考这篇文章:https://networm.me/2019/10/06/unity-ugui-eventsystem-optimization/

感谢小ben@UWA问答社区提供了回答

A2:规划一下Canvas,只有需要检测才需要挂上GraphicRaycaster组件。然后EventSystem中的大部分性能可能是点击之后触发的事件造成的,并不能算EventSystem的,需要单独看一下触发的代码。

感谢萧小俊@UWA问答社区提供了回答


Shader

Q:请问在UWA报告中看到Standard Shader,该如何定位问题?

 

A:Standard Shader出现的原因,一般是导入的FBX模型中或者Unity自身生成的一些3D对象使用了自带的Default Material,从而依赖了Standard Shader。可以结合UWA在线AssetBundle检测工具排查是哪个AssetBundle包中哪些资源引用了Standard Shader,如下图:

 

在找到了是哪个FBX资源带有Default Material后,可以用Unity提供的AssetPostprocesser类的回调函数对其进行剔除,如下图,是一个简单的做法。

 

感谢Faust@UWA问答社区提供了回答


AssetBundle

Q:在UWA 在线AssetBundle检测结果中看到n/a的网格,请问如何定位问题?

 

A:可以尝试在Asset Studio中查看相关AssetBundle的具体资源。

 

一般AssetBundle中的资源都是已命名的,检测到的未命名的资源通常是脚本生成的Asset中的一部分。

 

可以用Asset Studio查看这些未命名资源和哪些Asset相关,进而加以定位。

 

感谢宗卉轩@UWA问答社区提供了回答

 

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)

标签:开销,EventSystem,无效,Shader,AssetBundle,UWA,问答,社区,物理
来源: https://www.cnblogs.com/uwatech/p/16308391.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有