Object pooling - 基本物件池與應用

You can also see my post in Bahamut.

什麼是Object pooling

在我們製作一些遊戲的時候,常常需要使用到一些重複且相同的物件,

如果我們照著一般物件產生以及消除的方法:Instantiate 以及 Destroy,

會使許多GameObject(object)用完慘遭系統GC,如果像是子彈或者音樂遊戲的object被大量GC,

很可能造成遊戲卡頓,對於音樂遊戲或者是捲軸射擊遊戲都是相當致命的傷害,

為了避免這種問題,我們使用Object pool來儲存可以使用的object們,來免於上述的問題。

那麼Object pool該如何在C#中實作呢?