[缓存]对象池技术

1.思想

核心就是将需要频繁创建和销毁而且开销很大的对象做缓存,用到的时候去对象池中取,避免频繁创建,产生内存碎片,引起卡顿

(1)哪些类型的对象需要被缓存

怪物,npc,特效,采集点,技能发射体等

(2)缓存和淘汰的策略

缓存:LIFO,last in first out,

AddFromBack

淘汰:FIFO+lifetime+count limit,对象池中每个对象的lifetime有上限,对象池缓存的对象数量有上限(百分比清除)

RemoveFromFront,在back缓存,front移除,所以是FIFO

(3)清除的策略,比例,过多久清除

2.数据结构

双端队列:Deque,结合了栈和队列的数据结构,可以灵活对队尾和队首进行操作

3.核心

存储和淘汰策略,从对象池取出时的初始化,不同类型的物体的处理,尤其特效设计到粒子系统的管理要注意

你可能感兴趣的:([缓存]对象池技术)