这是一个非常普遍的基于学习的问题,而不是技术问题.
我正在Unity中制作游戏.游戏涉及许多相当复杂,高对象数的进程,因此,我产生了大量的垃圾.每个制作使用托管代码的游戏的人都知道,垃圾收集峰值是一个巨大的口号.我也试图瞄准移动设备,所以这种痛苦被放大了.
我的目标很简单:跟踪生成最多垃圾和池的过程并重用所涉及的对象,以减少垃圾收集器的负载.我已经处理了所有明显的类,但我的GC问题仍然存在.如果有人能在这里提供更多的智慧,请带上它.
我在研究中无法追踪的是测量GC负载和跟踪代码本身问题点的好方法.我可以从Unity和诊断类中获取有关内存池大小的指标(虽然我不知道这些数字的真正意义)并且我可以显示自开始以来发生的GC集合的总数,但是我调试这个问题的知识在那里结束了.
我知道必须有更好的方法来解决这个问题.任何人都可以指出我可以帮助我在这里的正确的工具或框架类(或库?)?我已经看到一些调试器程序(sgen?),它是Mono的一部分,但我找不到下载或更不用说如何将它连接到Unity游戏的指南.
任何帮助将不胜感激.谢谢.
这个问题与我曾经遇到过的问题无关,但它让我夜不能寐.从理论上讲,最终,随着表格中行数的增加和上升,每行对应的ID将"用完"数字,不是吗?我想如果你继续增加列值的深度,你可以保持它上升,但最终必须有一个上限,对吧?
我听说过一种叫做"分片"的技术,但没有详细解释,以满足我的好奇心.答案是你只是不断添加更多数字,或者是否有一个聪明的模式允许在他们自己的沙箱中"重复"ID.如果这些沙箱必须互动怎么办?