游戏设计模式阅读笔记2——重访设计模式(享元模式)

上一章命令模式的链接

二、.享元模式

1.简介

对于有很多相同的类时,需要共享类时,就会用到享元模式。比如渲染森林时,CPU向GPU传递3D数据。目前的游戏中,很多数都会使用一样模型,这时候就可以使用一个共享类。每棵树的需要传递数据就会大大的减少。在Unity的静态批处理和动态批处理。还有URP管线中的SRP Batcher。

2.地形实例

在游戏里基于区块建立地表,每个地形有自己的特性。比如:水面不能行走哦,丘陵不能建造等等。

第一种做法是使用枚举,管理一个大的枚举数组:

但这样单个地形的体现就被分出来了,地形的方法也被分开了。使用享元模式的优化是:

 

做一个地形类,这个类不包含任何实例的信息,是这个地形通用的数据。不接收任何单独实例的修改。

这里存的是指针,相同地形指向的是同一个Terrain对象。

3.性能如何

有人会觉得:跟踪这样的指针会导致缓存不命中,降低运行速度。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值