アプリケーションの一部のコードを事前にJITする必要があります。シナリオは、WindowsPhoneで実行されているXNAゲームです。爆発が最初に発生したとき、爆発の物理モデリングを実装するメソッドがJITされている間、顕著な一時停止があります。この問題はWindowsビルドでも発生し、アセンブリがNGENされると消えるので、私はこれを知っています。また、実行時にJITを実行する方法を使用しました。これは、ここでいくつかの回答に記載されており、CodeProjectで発生します(リフレクションとを使用PrepareMethod
)。
ただし、NGENはWindows Phoneアプリであるため、使用できません。PrepareMethod
また、とマークされている他の方法を使用することはできません。またSecurityCritical
、WindowsPhoneではそれを呼び出すことはできません。
ロード画面が表示されている間、初期化は別のスレッドで行われるため、時間がかかる場合があるという事実を気にしません。
同様の結果を達成するための洗練された方法はありますか?それができない場合は、方法はありますか?