上一篇我们讲到了关于行为树的内存优化,这一篇我们将讲述行为树的另一种优化方法——基于事件的行为树。 问题 在之前的行为树中,我们每帧都要从根节点开始遍历行为树,而目的仅仅是为了得到最近激活的节点,既然如此,为什么我们不单独维护一个保存这些行为的列表,以方便快速访问呢。我们可以把这个列表叫做调度器,用 ...
分类:
其他好文 时间:
2017-12-25 00:40:53
阅读次数:
205
上一篇我们讲到了AI架构之一的行为树,本篇文章和下一篇文章我们将对行为树进行优化,在本篇文章中我们讲到的是内存优化 问题 上一篇中我们设计的行为树由于直接采用new进行动态内存分配,没有自己进行管理。因此行为树各节点的存储位置会散布在内存空间的各处,行为树在不同节点中切换时会导致Cache频繁失效。 ...
分类:
其他好文 时间:
2017-12-24 23:00:34
阅读次数:
355
1.__slots__ 通过Types包中的MethodType将外部方法与类对象进行绑定(该方法只能对绑定的对象生效) 通过Types包中的MethodType将外部方法与类进行绑定(该方法能够被该类的所有对象使用) 而当我们想对一个类可以赋予的属性进行限制,用到类的__slots__参数即可,_ ...
分类:
编程语言 时间:
2017-12-24 11:22:49
阅读次数:
161
WeTest 导读 历时五天的内存优化已经结束,这里总结一下这几天都做了什么,有哪些收获。优化了,或可以优化的地方都有哪些。(因为很多事还没做,有些结论需要一定样本量才能断定,所以叫一期)一期优化减少JavaHeap内存占用约26.5M。 在任何性能优化之前,要做的第一件事就是找到性能瓶颈!而找到性 ...
分类:
编程语言 时间:
2017-12-22 12:26:31
阅读次数:
361
一、定制类,实质就是我们自己重写特殊函数 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。 __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数。 除此之外,Python的cla ...
分类:
编程语言 时间:
2017-12-18 18:41:20
阅读次数:
198
一、动态添加属性 二、动态给实例添加方法 三、动态给类添加方法 四、限制实例的属性 __slots__ __slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的: 除非在子类中也定义__slots__,这样,子类实例允许定义的属性就是自身的__slots__加上父类的__slots ...
分类:
编程语言 时间:
2017-12-17 20:43:00
阅读次数:
128
开篇废话 如果我们想要进行内存优化的工作,还是需要了解一下,但这一块的知识属于纯理论的,有可能看起来会有点枯燥,我尽量把这一篇的内容按照一定的逻辑来走一遍。首先,我们为什么要学习垃圾回收的机制,我大概归纳了一下几点: 1.方便我们理解什么样的对象,什么时候,会被系统回收掉 2.有助于我们后面的内存优 ...
分类:
移动开发 时间:
2017-12-16 14:46:12
阅读次数:
183
团队作业——Beta冲刺 冲刺任务安排 杨光海天 今日任务:根据冲刺内容,具体分配个人任务,对于冲刺内容做准备 明日任务:图片详情界面的开发 吴松青 今日任务:学习熟悉安卓开发,跟随组员快速了解其代码逻辑,并与组员讨论当前需要修改完善的地方。 赖志平 今日任务:学习内存优化相关知识,还未完成,遇到一 ...
分类:
其他好文 时间:
2017-12-13 00:03:44
阅读次数:
107
字符串只要new,就会产生一个新的地址 == :比较的是地址 str1,str2存储在常量池中,内存优化,是同一个字符串 equals :比较的是内容,只要内容一样结果就为true 1 package myeclipseFiles2; 2 3 public class String1 { 4 5 p... ...
分类:
其他好文 时间:
2017-12-12 12:16:54
阅读次数:
161
客户端能ping通 发现问题 本地代码获取ip为127.0.0.1,既redis集群不对外发布,注意创建集群时指定ip而不是127.0.0.1(即时你是伪集群) 一个疏忽的错误吧,大家注意一下 ...
分类:
编程语言 时间:
2017-12-06 18:07:41
阅读次数:
432