2013-08-21 47 views
1

我正在閱讀對象回收,即由flixel完成的。我正在閱讀的文章是here,以防你對我有興趣。對象回收是否適合實體組件模型框架

我開始思考如何將類似的系統集成到基於實體組件的框架中,EntityEngine。我不確定它是否合理,以flixel的方式整合它對幀速率,CPU/RAM使用率等沒有任何影響。我很確定這與事實有關每個EntityHashSet<Component>

flixel處理對象回收的方式是,每個對象都有一組定義的字段,實體沒有設計的東西。當一個對象被「銷燬」時,它不會從基本數組中移除,而是保持並切換到讓框架知道該對象可以被覆蓋並且不應該再被更新和繪製。不過,我很確定這裏繼承的集合是個問題。

所以問題是,我可以使用對象回收來提高幀率/ CPU使用率,或者我是否運氣不好?

編輯:我使用.net 4與XNA 4刷新。

+0

你在什麼框架?普通或XNA? –

+0

@亨克XNA,我覺得沒關係,但回頭我應該提到它,我會編輯問題以反映信息。 – redcodefinal

+0

它很重要。 XNA與regarsds與記憶非常不同。 –

回答

0

如果垃圾收集器出現問題,回收實體/組件只會影響幀率/ CPU使用率。

當垃圾收集器回憶未引用的對象會導致幀率下降時,這就是保持池中引用的對象並重用它們的原因,從而避免垃圾收集器過於頻繁地啓動並且工作量較少。