You can also see my post in Bahamut.

使用Unity製作遊戲也好一陣子,

途中踩過不少坑都是對於Unity預設值與C#程式語言的設計上的不熟悉,

關於Unity預設值的部分,達哥在今年的TGDF上的簡報讓我獲益良多,大家都該去看看。

這次想探討的是關於C#程式語言的設計方面,

特別是相對於C/C++這些低階語言來說,C#/Java的記憶體分配像是一個巨大的黑盒子,

運作起來還蠻順利的,但是時不時就會像樂高一樣踩到腳(而且很痛),

這篇就來記錄一下自己學到的東西,順便討論裝箱(Boxing)跟C#的記憶體運作吧!

Read more »

You can also see my post in Bahamut.

什麼是Object pooling

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

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

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

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

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

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

Read more »
0%