返回「计算机、信息技术与工程」
loading.checkconsistency editor only 编辑器上这个比较耗时,请问是做什么的,如何优化
本文目录 3 个章节
loading.checkconsistency editor only 编辑器上这个比较耗时,请问是做什么的,如何优化
note · 我的 UWA 问答 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者;回答保留当时语境,技术结论可能受 Unity 版本、平台和项目条件限制。
问题

- 提问者:cccccc
- 提问时间:2021-05-14 01:32:00
我的回答
我把之前的回答Copy过来好了(https://answer.uwa4d.com/question/60963d386bb31032f979156e):
ReadObject实际上是在加载之后,对Object进行反序列化。一个prefab反序列化后,会有大量的Object。IntegrateAllThreadedObjects会遍历这些Object,而Loading.CheckConsistency就是在遍历这些Object时,对数据进行一致性检验。
所谓一致性检验,就是比如,对下图prefab的序列化文件,会检查两个红框中的fileID是否一致。

图片来源:https://www.cnblogs.com/luguoshuai/p/12323186.html。 如这篇博文所讲,如果两个fileID不一致,会有CheckConsistency的报错。
为什么只在Editor下进行一致性检验,而打包后Runtime不需要检验呢? 笔者推测是在打包的时候已经对所有对象都检验过了,Runtime就不需要检验,也避免了检验带来的高耗时。
证据如下图,某次打包的报错堆栈里面,包含了CheckConsistency的步骤:

图片来源:https://networm.me/2019/06/23/unity-has-stopped-working/
- 回答时间:2021-05-14 02:09:47
- 最后更新:2021-05-14 02:10:35
- 采纳状态:已采纳
来源与关系
- 上位集合:我的 UWA 问答
- UWA 标签:资源管理
- 原始问题:loading.checkconsistency editor only 编辑器上这个比较耗时,请问是做什么的,如何优化
- 源页最后更新:2021-12-11 06:14:29