我需要使我的应用程序中的一些代码被预先JITted。该场景是在 Windows Phone 下运行的 XNA 游戏。当爆炸第一次发生时,当实现爆炸物理建模的方法被 JITted 时,会有一个明显的停顿。我知道这一点,因为这个问题也发生在 Windows 版本上,并且在程序集被 NGEN 时消失。我还使用了运行时 JITting 的方法,这里的一些答案中提到了该方法,起源于 CodeProject(使用反射和PrepareMethod
)。
但是,我不能使用 NGEN,因为它是一个 Windows Phone 应用程序。我也不能使用PrepareMethod
标记为的其他方法SecurityCritical
,并且您不能在 Windows Phone 上调用它。
我不介意这可能需要一些时间,因为在显示加载屏幕时初始化将在单独的线程上发生。
是否有任何优雅的方法可以达到类似的结果,如果失败了,还有任何方法吗?