Zonciu / Box2DSharp

A C# port of Box2D
MIT License
544 stars 102 forks source link

对象池优化 #4

Closed Zonciu closed 4 years ago

Zonciu commented 5 years ago

优化对象回收到对象池的逻辑,发现问题请在此处留言。 分支:dev

ohsorry commented 5 years ago

因为内存池目的是解决内存碎片和分配效率问题,所以只把Box2D里频繁new的小对象管理起来就行了,其他的交给GC,搞的简单点。不用内存池的都不用实现IDisposable。

Zonciu commented 5 years ago

考虑只给Contact和ContactEdge使用对象池,对数组使用ArrayPool,其他的就都不管了

VergilGao commented 5 years ago

数组也没必要池化吧。

ohsorry commented 5 years ago

SimpleObjectPool用了ConcurrentBag,可以Add重复元素,Return一个对象多次就Bug了。