我正在使用XNA为xbox360制作游戏。在Xbox上,垃圾收集器与PC上的垃圾收集器相比性能相当差劲,因此将垃圾产生量降到最低对于顺利执行游戏至关重要。使用委托创建垃圾
我记得读过一次,调用委托创建垃圾,但现在我的生活找不到任何引用创建垃圾的代表。我只是做了这个或代表杂乱?
如果代表很凌乱,建议解决方法的奖励点。
public delegate T GetValue<T>(T value, T[] args);
public static T Transaction<T>(GetValue<T> calculate, ref T value, params T[] args) where T : class
{
T newValue = calculate(value, args);
return foo(newValue);
}
我的代码看起来依稀像此刻,我能想到的唯一的解决办法,以摆脱自己代表的是在继承的接口IValueCalculator一个类来传递,然后我可以调用该方法界面,虽然不是很整洁!
代表应该是非常小的,不应该创建当你执行它们时,会有很多垃圾。 (如果他们创建垃圾,它应该是每个都有字节的拳头)。传递接口引用并在完成时不使用接口引用也会产生垃圾。 – CodingBarfield