[缓存]对象池技术

1.思想

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

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

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

(2)缓存和淘汰的策略

缓存:LIFO,last in first out,

AddFromBack

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

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

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

2.数据结构

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

3.核心

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 1我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,...
    织田信长阅读 1,519评论 1 20
  • 理论总结 它要解决什么样的问题? 数据的访问、存取、计算太慢、太不稳定、太消耗资源,同时,这样的操作存在重复性。因...
    jiangmo阅读 2,899评论 0 11
  • 包含的重点内容:JAVA基础JVM 知识开源框架知识操作系统多线程TCP 与 HTTP架构设计与分布式算法数据库知...
    消失er阅读 4,356评论 1 10
  • 1. 什么是对象池? 我们都知道一个对象,比如car其生命周期大致可分为“创建”,“使用”, “销毁”三个阶段,如...
    tracy_668阅读 1,722评论 0 3