1)XCode内存和UnityProfiler内存有较大差值
​2)Dynamic Bone插件和Job System的写法哪个好
3)编辑器中iOS平台SoftShadow无效
4)Unity 2021中阻止AssetPostprocessor代码改变导致相关资源Reimport


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

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

Memory

Q:我们将XCode的内存和Unity Profiler的内存放在一起,发现二者存在600MB的差值,且GAP呈上涨趋势。



 

将已知的第三方插件(不到100MB)、IL2CPP Metadata Cache(100MB左右)等排除掉后,仍无法解释差值原因。

A:我们曾对Unity内存和XCode内存不同的问题做过一些测试。





这个是在Unity 2021里面看到的空场景测试,看起来是一样的。





另一个稍微复杂些的项目,也是一样的。

在2021里面,Unity会统计OS层的数据,和Unity Tracked差异的内存会作为UnTracked的记录;在2021之前的版本,Profiler是不会统计UnTracked这部分,在Memory Profiler里面可以看到,普通的Profiler里面是不会统计的。

所以总的来说,就是Unity和XCode统计的范畴不一样,可以参考这篇文章的说明:

https://toutiao.io/posts/j5m47yp/preview

对于UnTracked的部分,Unity官方文档也有说明:



 

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


Scripting

Q:Dynamic Bone插件出了多线程的版本,但是并不是使用Job System写的,请问下和Job System的写法哪个性能更好一些?

A:专门做过测试,Job System的性能更好一些。

使用坚果R2(骁龙865)进行的测试,测试的模型是8个骨骼,测试结果如下:



 

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


Rendering

Q:Unity 2020.3.40版本SoftShadows在MAC电脑上iOS平台为什么不生效?

Unity都是新下载的,没有进行过任何修改。各个平台直接进行切换,什么东西都没有改动。

1.环境:MAC电脑;Unity:2020.3.40;平台:iOS;结果:软阴影没有效果



 

2.环境:MAC电脑;Unity:2020.3.40;平台:PC;结果:软阴影有效果

 

3.环境:Windows电脑;Unity:2020.3.40;平台:Android;结果:软阴影有效果



 

4.环境:Windows电脑;Unity:2020.3.40;平台:PC;结果:软阴影有效果



 

5.环境:Windows电脑;Unity:2020.3.40;平台:iOS;结果:软阴影有效果



 

6.环境:Windows电脑;Unity:2020.3.40;平台:Android;结果:软阴影有效果



 

A:经过测试,在真机上看Unity 2020的SoftShadow也是有效果的。以下测试是在编辑器中。

在Unity 2020上复现了问题,但是在2021上,iOS平台也能看到SoftShadow是起作用的。

下图是2020上iOS平台开启SoftShadow的图,可以看到_MainLightShadowOfset的数值都是0。



下图是2021上iOS平台开启SoftShadow的图,可以看到_MainLightShadowOfset的数值不是0。



差别主要来自于MainLightShadowCasterPass脚本,在2021的版本里面是没有判断m_SupportsBoxFilterForShadows的,所以_MainLightShadowOfset赋值正确了。



 

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


Editor

Q:为什么在Unity 2021中,阻止AssetPostprocessor代码改变导致相关资源Reimport?

2021开始Unity有了一个新的特性 – 在继承AssetPostprocessor的类有较大改动时,经常试图重载相关类型的资源。

实践中,因为项目资源Reimport会花费大量时间,多数修改期间都是只刷新部分路径验证。之后才会在统一的时间刷新项目的资源组。

现在有没有Editor配置可以阻断代码改动造成的资源重载?或者一些可以自动裁剪Library资源以及修改Meta文件,但不会在相应代码修改被触发的流程?

A:之前也问过,可以参考以下解答:
https://forum.unity.com/threads/unity-made-full-project-reimport-on-every-small-change.1066844/#post-7647370

感谢海贼猎人@UWA问答社区提供了回答

封面图来源于网络


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

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

原文地址:http://www.cnblogs.com/uwatech/p/16896207.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性