我正在开发一款Windows Phone 7 XNA游戏.它是用C++编写的游戏的端口,因此,我试图尽可能少地重写游戏代码.
垃圾是WP7上的一个大问题,因为收集器是非代数且速度慢的,因此一个集合(每1MB触发一次)每MB分配大约需要10ms.我完全打算使用最大的90MB可用,所以我们正在考虑每MB分配约900ms的停顿.
我已经能够重做工作,因此我们没有每帧生成垃圾,除了一些字符串的情况.
似乎StringBuilder.ToString()生成垃圾,这里描述的方法不适用于WP7.
我需要做的两件事是:
如果没有将大量代码转换为使用char []而不是字符串,那么有没有办法在C#中拥有真正无垃圾的可变字符串?