gpt4 book ai didi

c# - 不使用 PrepareMethod 在运行时对代码进行预编译

转载 作者:行者123 更新时间:2023-11-30 16:23:27 25 4
gpt4 key购买 nike

我需要让我的应用程序中的一些代码被预编译。该场景是在 Windows Phone 下运行的 XNA 游戏。当爆炸第一次发生时,有一个明显的停顿,同时实现爆炸物理建模的方法是 JIT 的。我知道这一点,因为这个问题也发生在 Windows 构建上,并且在程序集为 NGEN 时消失。我还使用了运行时 JITting 的方法,这在此处的一些答案和 originates on CodeProject 中有所提及。 (使用反射和 PrepareMethod )。

但是,我不能使用 NGEN,因为它是 Windows Phone 应用程序。我也无法使用另一种方法 PrepareMethod 被标记为 SecurityCritical,并且您不能在 Windows Phone 上调用它。

我不介意这可能需要一些时间,因为初始化会在显示加载屏幕时在单独的线程上进行。

是否有任何优雅的方法可以达到类似的结果,如果做不到,还有什么方法吗?

最佳答案

到目前为止,在 Windows Phone 中,您唯一可以做的就是通过实际调用来强制执行 JITed 方法。

我会在您的应用程序正在加载时调用该方法,也许是在它显示加载屏幕或其他内容时。这样,当用户在游戏中实际点击它时,JIT 已经得到处理。

关于c# - 不使用 PrepareMethod 在运行时对代码进行预编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com