项目中Warmup耗时高该如何操作处理

1)项目中Warmup耗时高该如何操作处理
2)如何在卸载资源后Untracked和Other的内存都回收
3)总Triangles的值是否包含了通过GPU Instancing画的三角形
4)有没有用Lua来修复虚幻引擎中对C++代码进行插桩Hook的方案


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

Rendering

Q:项目中Warmup的处理,是每次启动都必须操作吗?还是第一次进入游戏处理一次就好?

然后是不是也比较有必要给iOS分段Warmup?现在Warmup时间太久了。我们是Shader都在一个AssetBundle,做分段Warmup是不是需要拆AssetBundle?

A:第一次时间会比较长,有些信息会被保存在硬盘;第二次开始预热时间会降低,但还是必要的。

应该拆的是ShaderVariantCollection,Shader和SVC还是打在一个包,但是拆开的SVC可以分别在不同时机调用ShaderVariantCollection.WarmUp()。

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


Memory

Q:Untracked的内存增加了,导致总内存不变。再次加载这一块资源,Untracked内存又降低了,Other内存起来了内存还是不变。但是实际上是希望卸载资源后内存卸载的。

把手机放在后台一段时间后,再回到App,Untracked内存可能会降低到一个非常低的值,不清楚这个现象是Unity版本导致的还是Unity机制导致的,请问这合理吗?

A:一方面经验上认为Unity内存工具显示的Untracked内存量本身不可尽信;另一方面,引擎的资源卸载了一部分,但变化小或时间短,因而进程没有把内存还给系统而暂作预留,使得资源卸载和重新加载时没有导致总内存产生显著的变化,这种可能性是存在的。

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


Rendering

Q:请问Profiler-Rendering里统计的(Instancing)一行应该就是通过GPU Instancing画的物体的DrawCall和Triangles吧?下图中最上面这个总Triangles是否已经包含了通过GPU Instancing画的三角形呢?

A:测试开关对比了一下,是的,且已经被包含在总的里面了。

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


Script

Q:请问虚幻引擎中是否有成熟的方案,可以对C++代码进行插桩Hook,并在出现问题时通过Lua进行修复?

针对以上问题,有经验的朋友欢迎转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


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

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com

相关推荐
UWA4 天前
URP相机如何将场景渲染定帧模糊绘制
memory·platform·rendering
中草药z5 天前
【MySQL】架构和存储引擎
架构·memory·innodb·csv·存储引擎·myisam·mysql架构
UWA20 天前
如何用GPU Instancing来优化树木草石重复模型
ui·platform·rendering
码观天工1 个月前
C#高性能开发之类型系统:从C# 7.0 到C# 14的类型系统演进全景
性能优化·c#·.net·memory·高性能·record·c#14·类型系统
SHIPKING3931 个月前
【LangChain核心组件】Memory:让大语言模型拥有持续对话记忆的工程实践
数据库·python·langchain·llm·memory
UWA2 个月前
小游戏中Enable Exceptions的各选项有何区别
script·rendering·asset
UWA3 个月前
iOS进程增加内存上限的接口
ios·memory·terrain
伊织code3 个月前
LM2 - Large Memory Models 大型内存模型
内存·memory·模型·lm2·large
UWA4 个月前
为什么UI导入png图会出现白边
ui·editor·rendering·asset