打开网易新闻 查看更多图片

这是第417篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com

本期目录:

  • 为什么不应将游戏逻辑写在FixedUpdate中
  • 关于il2cpp.so裁剪的问题
  • 3DMax怎么统计Unity的顶点数量
  • Unity拉起SDK后,导致场景贴图丢失

Script

Q1:请问在向别人解释不要把游戏逻辑放在FixedUpdate,而应正常地放在Update里,除了Input事件外,我还能使用哪些理由呢?

A1:FixedUpdate只处理物理相关的逻辑,Input事件应该放Update。

感谢如此而已@UWA问答社区提供了回答

A2:如果卡,FixedUpdate会在一帧里执行多次来追上更新次数,可能导致严重的掉帧和发热。若想慢点更新,建议用携程或者用UniTask。

感谢Max.Jon@UWA问答社区提供了回答

Q2:我需要一些硬性的不能做的理由,目前想到的就只有Input事件会重复或被跳过。

A3:那Update里面干什么?而且位置更新不放到Update和渲染匹配不上,看着应该会有顿的感觉。

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

A4:FixedUpdate不能动态锁帧,全放里面手机发热发烫耗电也快。

感谢好虫@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/677b429f682c7e5cd61bf9e4

Script

Q:我们最近在关注包体问题,发现il2cpp.so里有1/4的代码是Generics GenericMethods,请问有什么方法能减少这些代码生成的同时,运行不报错呢?

另外对于APP,有没有人测试过IL2CPP Code Generation的两个选项OptimizeSize和OptimizeSpeed对于运行时影响有多大呢?

A:你应该先说明一下自己的Unity版本。

我测试过Unity 2022版本的IL2CPP Code Generation的Fast(Small)Builds可以在牺牲少部分性能的情况下减少很多泛型代码。

我们泛型代码也比较多,可以减少1/3以上。

感谢邹彬@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/675f9b483d306f3e9d594dc9

Editor

Q:请问3DMax是怎么统计Unity的顶点数量的呢?

A:视窗左上角点加号-视窗设置,然后第二张图勾选显示:

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片

然后就有了:

打开网易新闻 查看更多图片

感谢龙@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/677b43423d306f3e9d594e03

Platform

Q:请问有朋友遇到过Unity拉起SDK后,导致场景贴图丢失的问题吗?

输入的贴图全黑,变成UnityBlack了:

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片

我是觉得不相关,但是现在复现的手法确实是,拉起SDK以后再回到游戏,贴图就丢了。也不是所有手机都这样,内存比较小的手机会这样,而且也没有用Compute Shader:

打开网易新闻 查看更多图片

我不太理解资源重建这个,但是我试过直接切后台和拉起SDK做比较,切后台再切回游戏是正常的,但是拉起SDK再回到游戏资源就丢失了。感觉像是拉起SDK的时候,Unity这边释放了内存,然后复现的设备有一个这样的报错:

A:参考下图:

打开网易新闻 查看更多图片

感谢小波@UWA问答社区提供了回答,欢迎大家转至社区交流

https://answer.uwa4d.com/question/677b49203d306f3e9d594e04

封面图来源于网络

今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com

UWA社区:community.uwa4d.com

UWA学堂:edu.uwa4d.com

点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~

近期精彩回顾