已解决
【Godot】解决游戏中的孤立/孤儿节点及分析器性能问题的分析处理
来自网友在路上 167867提问 提问时间:2023-09-22 19:18:00阅读次数: 67
最佳答案 问答题库678位专家为你答疑解惑
Godot 4.1
因为我在游戏中发现,越运行游戏变得越来越卡,当你使用 Node 节点中的 print_orphan_nodes()
方法打印信息的时候,会出现如下的孤儿节点信息
孤儿节点信息是以 节点实例ID - Stray Node: 节点名称(Type: 节点类型)
作为格式输出,可以多运行几次查看是否节点实例 ID 是否是相同的,通常不是随机性很大的,一般大概率是相同的
确定了有哪些常见或固定的节点实例ID,记录下来,使用 var obj = instance_from_id(节点实例ID)
进行获取记录孤儿节点,然后进行打印信息
prints(obj, obj.owner, obj.get_script())
比如我得到了一个固定的节点实例ID,然后我通过一下方式进行获取输出这个节点、场景、脚本信息,来定位确定是在哪个地方出现的问题
var obj = instance_from_id(141431936683)if obj:prints(obj, obj.owner, obj.get_script())if obj.get_script():print(obj.get_script().resource_path)
这样排查下来就好找到具体的出现的位置了
后面我又去查看分析器中的性能波动的位置,游戏开始后,打开调试器里的分析器的开始按钮,下图左上角,点过之后变成“停止”按钮。勾选 Frame Time 查看时间耗费比较多的帧,根据这个帧波动的时间来分析。
我发现游戏中开始变卡,一看分析器果然有强烈波动,如下图所示
其中有些位置的耗费时间很高,比如我这里下面的 ScriptFunctions 里一个叫 update_fog
方法耗费挺多性能,所以我在这里入手,进行逐个解决
查看全文
99%的人还看了
相似问题
- 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
- Java 算法篇-链表的经典算法:判断回文链表、判断环链表与寻找环入口节点(“龟兔赛跑“算法实现)
- 代码随想录二刷 | 链表 | 删除链表的倒数第N个节点
- 节点导纳矩阵
- bhosts 显示节点 “unreach“ 状态
- 电子电器架构 —— 车载网关边缘节点总线转换
- 〖大前端 - 基础入门三大核心之JS篇㊳〗- DOM访问元素节点
- 第四天||24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II
- CS224W5.1——消息传递和节点分类
- Vue报错解决Error in v-on handler: “Error: 无效的节点选择器:#div1“
猜你感兴趣
版权申明
本文"【Godot】解决游戏中的孤立/孤儿节点及分析器性能问题的分析处理":http://eshow365.cn/6-11615-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!