KinectSDKを使用してXNAでプログラムを作成しました。プログラムは私のPCや他の多くのPCで完全に正常に実行されていますが、あるシステムでこのプログラムを開くと、次のエラーが発生します。
_ Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
_
プログラムが停止し、spritebatch.End()
にエラーメッセージが表示されます。
なぜこのエラーメッセージが表示されるのか理解できません。
私が使用しているシステムには4GBのRAMがあり、問題を引き起こしているシステムには2GBのRAMがあります。どちらのシステムもCORE2Duoです。メモリが問題ですか、それとも他の問題ですか?
はい、これはメモリの問題である可能性があります。 http://social.msdn.Microsoft.com/Forums/en-US/71f134bd-d665-43b5-8c67-52c4d6ed4ed9/kinect-driver-problem?forum=kinectsdknuiapi の回答をご覧ください。 =。システムを再起動し、不要なプロセスをすべて停止して(メモリ使用量を最小限に抑えるため)、プログラムの実行を再試行してください。
私はこの正確な問題を抱えていました。うまくいけば、これは将来誰かを助けるでしょう。私のメンバーシッププロジェクト(クラスのみを含む)は32ビット用に構築されており、私のアプリはそれらを64ビット用に消費しています。両方が32ビットであり、問題が解決されていることを確認しました。
私の場合、仮想マシン(VM)を使用していました。グーグルした後、VMに十分なRAMがないことがわかりました。 RAMで使用可能なVMを増やすと、修正されました。
私にとって魅力のように働いた。
とにかく、解決策はJIT最適化を有効にすることでした。つまり、Visual Studio 2008では、[ツール]、[オプション]の順に選択します。 「デバッグ」と「一般」を選択し、「モジュールロード時のJIT最適化の抑制」という行を見つけます。この種の方法により、デバッガーとJITコンパイル済みコードが同期しなくなっていないことが確認されます。これは、JITコンパイラーがコードの非常に優れたオプティマイザーであるためです。これでうまくいきました。