内存池和对象池
频繁地分配和释放内存(例如,在碰撞检测中创建和销毁接触点)会导致内存碎片化和性能开销。内存池和对象池是解决这些问题的有效方法。
- 内存池:预先分配一大块连续的内存,然后从这块内存中分配小块内存。当不再需要时,只是将小块内存标记为可用,而不是真正释放给操作系统。
- 对象池:预先创建好一定数量的对象,当需要对象时从池中获取,使用完毕后归还到池中,而不是销毁。这避免了频繁的对象构造和析构。
在物理引擎中,接触点、约束、碰撞对等都是频繁创建和销毁的对象,非常适合使用对象池管理。
Press ← or → to navigate between chapters
Press S or / to search in the book
Press ? to show this help
Press Esc to hide this help
频繁地分配和释放内存(例如,在碰撞检测中创建和销毁接触点)会导致内存碎片化和性能开销。内存池和对象池是解决这些问题的有效方法。
在物理引擎中,接触点、约束、碰撞对等都是频繁创建和销毁的对象,非常适合使用对象池管理。