这是一个基于 Unity 的对象池示例工程,除了基础对象池功能外,还包含:
- 运行时对象池采样
- 编辑器内曲线调试窗口
- 可用于录屏展示的 Showcase 场景
这个仓库目前更适合作为“对象池模块 + 调试工具 + 演示样板”的基础工程,方便继续接入正式项目。
- Unity
6000.3.8f1 - URP 渲染管线
核心代码位于 Assets/PoolSystem/Core:
-
ObjectPoolManager负责对象池创建、查找、生成和回收。 -
ObjectPool负责活跃对象、闲置对象管理,以及扩容/缩容逻辑。 -
IPoolable定义池内对象生命周期接口。
扩容策略位于 Assets/PoolSystem/ExpandStrategy:
- 固定扩容
- 指数扩容
- 策略工厂封装
采样逻辑位于 Assets/PoolSystem/Debug/Runtime:
-
PoolStatsService持续收集对象池采样数据。 -
PoolStatsBuffer保存时间序列样本。 -
PoolChartAdapter把运行时数据转换为编辑器图表序列。
编辑器调试逻辑位于 Assets/PoolSystem/Debug/Editor。
窗口支持:
-
单对象池模式 查看活跃数量、闲置数量、总量、负载率。
-
多对象池模式 按单个指标比较多个对象池的趋势。
-
设置面板 支持主题、刷新频率、Tooltip 行数、图表最小高度等配置。
-
摘要卡片 快速查看当前关键数据。
窗口入口:
Window/Analysis/对象池曲线
编辑器模块内部结构说明见: Assets/PoolSystem/Debug/Editor/README.md
打开 Assets/Scenes/SampleScene.unity,进入 Play Mode。
然后打开调试窗口:
Window/Analysis/对象池曲线
即可查看对象池曲线和摘要信息。
Showcase 代码位于 Assets/PoolSystem/Showcase。
包含:
- 彩色粒子对象池压力演示
- 环绕相机
- 霓虹风格展示逻辑
适合录制演示视频或作为求职作品展示场景。
Assets/PoolSystem
├─ Core/ 对象池核心
├─ Config/ 池配置
├─ ExpandStrategy/ 扩容策略
├─ Debug/
│ ├─ Runtime/ 运行时采样
│ └─ Editor/ 编辑器窗口、UI、服务、配置
├─ Showcase/ 演示场景与视觉展示
├─ Example/ 早期示例资源
└─ Resource/ 调试窗口设置资源
- 编辑器窗口基于
UI Toolkit - 静态布局优先使用
UXML + USS - 动态刷新与交互逻辑放在
Controller - 图表绘制由自定义
PoolCurveChartView负责
- 接入或替换为
XCharts - 增加对象池预热和资源分组
- 增加更多调试指标
- 增加导出调试数据能力
- 增加自动化测试和 asmdef 拆分
当前仓库更偏“可运行、可调试、可展示”的样板工程,不是已经完全工程化的最终产品。 如果接入正式项目,建议继续补足测试、文档和模块边界约束。