196 :名無しさん:2009/11/02(月) 09:47:54 184でWin7にwktkしてたモンです。
やっと時間が出来てWin7 Pro. 32bitを新規インストール。 32bitなのはまだ64bitに対応してない自分必須アプリがあったから。
結果から述べると、従前はクリD一周あたり1~2回は落ちてたのが、 二周しても全く落ちなくなりました。 MPTも最低1回は落ちてたのが0回に改善。
ただし、Win7で全て解決するとは思ってなかったので色々調べてたら、 他のゲームでHTやマルチコアが原因という情報にぶつかったところでヒントを得て以下のようにしました。
1.BIOSでHT無効化 2.念のためPrius.exeをコピーしてオリジナルを保存 3.IMAGECFG.EXEをどこかパスが通るところへ置いて以下を実行 imagecfg -u prius.exe imagecfg -a 0x1 prius.exe
IMAGECFG.EXEはリソースキットのツールです。上記の指定でユニプロセッサで動くように指示してます。
これで普通にラウンチしても書き戻されたりすることなくシングルコアで動いてるようです。 タスクマネージャで見ると1コアだけフルに使って他は殆ど使ってません。
まだWin7&オリジナルのprius.exeでは実験してませんので、もしかすると無駄なことしたかも?w もしWin7でも落ちるという人は自己責任で試してみてください。
198 :名無しさん:2009/11/02(月) 15:01:06 >>196 やはり本スレで出ていたOpenMP化によるマルチスレッド処理の不具合のようです。 私のところもC2D Win7 x64という環境ですが、Assertエラーで落ちていました。 先週木曜にアフィニティマスクを設定して以降落ちる事がなくなりましたので、現状この方法がベストかと。 おそらく暗黙同期に頼ってクリティカルセクションを追い越し処理されるような実装にしているのでしょう。 そのため、実行CPUを1つに制限してしまえば問題ないわけですから、HTの無効化やユニプロセッサの強制は必要ないです。
そんなわけで、マルチコアCPUを使っていて落ちて困ると言う人は試す価値ありの方法です。 簡単に実行できるように固めてみましたので、どうぞ
本スレ投下用
バックアップにでも(その打ち消すかもしれませんが)