2chで見かけた記事で、MSXエミュレータ blueMSXの不可解な挙動に関する問題が解決。
既に枯れているMSXエミュレータだが、中でも完成度が高い「blueMSX」で、何故か動作速度が安定しない症状が出ていた。
具体的には、突然数百%の実行速度になったかと思うと、数十%に落ちたりする。変な挙動を示すので、ここ最近MSX関係は放置気味だった。
実はblueMSXフォーラムの記事によれば、AMDのマルチコアCPUでの、RDTSC (Read Time Stamp Counter)に関するWindowsXPの実装に難があるというか、そういう所をちょうどblueMSXが踏んでたというか、そんな話だったらしい。同じような問題で、一部アプリでのビデオパフォーマンスの低下や、動作異常も起きると。
で、これを解決する方法として、AMDがAMD Dual-Core Optimizerというツールを提供しているのを知り、早速インストール。
DCO導入前は物凄く不安定だったエミュレータ実行速度が、ほぼ100%に安定した。
以前見た解決策は、exeの中のAffinity設定を強制的に書き換えて、実行するコアを固定するというものだったが、そこまでしなくても今回手順で十分のようだ。
何はともあれ、問題解決したので後はどうでもいいや。
既に枯れているMSXエミュレータだが、中でも完成度が高い「blueMSX」で、何故か動作速度が安定しない症状が出ていた。
具体的には、突然数百%の実行速度になったかと思うと、数十%に落ちたりする。変な挙動を示すので、ここ最近MSX関係は放置気味だった。
実はblueMSXフォーラムの記事によれば、AMDのマルチコアCPUでの、RDTSC (Read Time Stamp Counter)に関するWindowsXPの実装に難があるというか、そういう所をちょうどblueMSXが踏んでたというか、そんな話だったらしい。同じような問題で、一部アプリでのビデオパフォーマンスの低下や、動作異常も起きると。
で、これを解決する方法として、AMDがAMD Dual-Core Optimizerというツールを提供しているのを知り、早速インストール。
DCO導入前は物凄く不安定だったエミュレータ実行速度が、ほぼ100%に安定した。
以前見た解決策は、exeの中のAffinity設定を強制的に書き換えて、実行するコアを固定するというものだったが、そこまでしなくても今回手順で十分のようだ。
何はともあれ、問題解決したので後はどうでもいいや。