• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱
欢迎来到 behaviac Q&A。 您在bbs里的问题,管理员会当下就收到通知,不要担心管理员看不到您的问题。也请在bbs里提供您的email,这样就可以第一时间收到关于回答,评论的email的通知了。 为了节省大家的时间,请表达好你的问题,提供必要上下文,版本号,平台信息,重现步骤等。

加载xml行为树时GCAlloc 很高,看截屏

0 喜欢 0 不喜欢
108 浏览

如图,GC 主要耗费在xml解析和读取文件。 因为有好多实例要执行这个行为树。直接把游戏卡到爆啊。瞬时很卡很卡。有方法优化吗?

另外有一个树比较小。还好点

最新提问 7月 6, 2016 用户: qq_57072b4f10c42 (510 分)

1个回答

0 喜欢 0 不喜欢
读取(加载)的时候是有GC,这个是已知的,也是正当的。因为加载只是一次,假定是在初始化的时候做的。

我们做到的是tick的是GC free。

请尽量不要在游戏更新的时候加载。
最新回答 7月 6, 2016 用户: jonygli (58,290 分)
也就是load的时候GC你们不考虑对吧。我们这边读条来优化体验?
目前是600个节点。load的时候5M是不是高了点啊。因为项目需求,有的单位是游戏过程中加载的,不能通过读条来规避。有什么优化方案吗
因为整个游戏里面只有两棵树在执行,能不能仅仅加载一次,所有的对象分别执行呢?
你游戏中间创建单位,但不影响初始化的时候加载行为树!

初试化的时候通过Workspace.Load来加载行为树到cache中。

创建agent的时候,再次加载的时候将使用cache,除非bForce为true。
...