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

关于加载空操作行为树GC问题

0 喜欢 0 不喜欢
167 浏览

空行为树

 

 

一个行为树没有元信息成员和函数加载的时候消耗了1.4M,第二个,有元信息,耗了2.7M不知道耗在哪里。已经打开了RELEASE模式。看文档说C# 可以做到不触发GC。求解

 

 

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

1个回答

0 喜欢 0 不喜欢
 
已采纳
首先,这个GC是只发生一次的。你可以看你们是被TryInit触发的。

另外,我们的GC Free重构了这部分代码。即使使用xml或bson格式也将是GC Free的。该部分功能在3.5.0之后的版本里有。
最新回答 6月 7, 2016 用户: jonygli (58,290 分)
采纳于 6月 7, 2016 用户:qq_57072b4f10c42

这是第二次加载,仍然有GC触发。body_landTeamMove 这个数比较大。是不是后期更新你们版本可以做到行为树部分不触发GC呢?目前已经是C#代码了。目前主要想看看行为树到底触发多少GC

这些GC都是在load的时候导致的。load的时候是会发生GC。但load都是只发生一次的。

关键是update的时候不能有GC

 

而且看还有Debug.Check,说明你还在使用Debug开发版。

1. 请定义BEHAVIAC_RELEASE

2. 使用导出C#

3. 使用的函数和成员属性是public

 

另外,是的,3.5.0以后的版本即使是xmlhuobson也是GC free的。
Debug.Check 有两种可能会执行

1. debug

2. unityEdity

我这边是untiyedity的问题

总上可以理解为。行为树在load的时候的确会触发GC,在update的时候可以做到不触发GC。之前理解错了。以为行为树完全不触发GC呢,这个文档里面最好明确说明一下吧。
好的。主要是load的时候产生GC是没有问题的。关键是update的时候不能有GC
那load的时候。是不是行为树越大。load的时候GC越高呢?一般控制在多大合适啊?
load的时候产生GC是没有问题的,load的时候不需要控制GC的量。关键是update的时候不能有GC
...