我正在阅读由flixel完成的对象回收。我正在阅读的文章在这里,以防你和我一样感兴趣。
我开始考虑如何将类似的系统集成到我的基于实体组件的框架EntityEngine中。我不确定它是否一定合理,以 flixel 的方式集成它似乎对帧速率、cpu/ram 使用等没有任何影响。我很确定这与事实有关每个Entity
都是一个HashSet<Component>
。
flixel 处理对象回收的方式是,每个对象都有一组定义的字段,而实体没有,这是设计上的。当一个对象被“销毁”时,它不会从基本数组中删除,而是保留并切换以让框架知道该对象可以被覆盖并且不应再更新和绘制。但是,我很确定继承的集合在这里是一个问题。
所以问题是,我可以使用对象回收来提高帧率/cpu 使用率,还是我不走运?
编辑:我正在使用带有 XNA 4 刷新的 .Net 4。