【WS003/004/007SH】W-ZERO3でエミュプレイ4

このエントリーをはてなブックマークに追加
801名無しさん@お腹いっぱい。
>>798さんのレスを拝見して。
あのお方って、このスレご覧になってるの・・・って、ああああ?!このURLって!!! ←今頃気が付いた。
全力で見逃してました、マジで。まだご覧になっているのなら、GSFinder+ CustomのZERO3Action対応検討をお願いしたいのですが・・・いかがでしょうか?
※1/30のブログコメントを拝見する限りでは、現在手がけておいでの改良が、丁度それに該当しそうな気も。スレ違いすいません。

で、ご要望の有無を確認しないまま、一方的にクロックアップ維持の検証報告です。(興味の無い方はスルーの方向でお願いします)
やはり「CPUアイドル(と判断できる)状態になったら標準クロックに戻る」ことで間違いなさそうです。

[準備]
「\windows\スタートアップ」フォルダの内容を、全て一時フォルダに退避。Todayメニューからも全アイテムを外す
ACアダプタを接続し、サスペンド無効に設定。その他、パワーマネジメントは連続稼働可能な状態に設定
念のため、W-SIMをオフにするなど、可能な限り全ての常駐を除外できる状態で再起動(ソフトリセット)

[比較用予備検証]
常駐ゼロの状態でxclkcfg_03を使い520MHzにクロックアップを試行するも、ほぼ実行直後に標準(416MHz)に戻る現象の再現を確認
※間隔を開けず複数回連続実施後の計測/ソフトリセット後の計測なども含め、各種20回程度の試行で全て再現した

[高クロック維持検証結果(PHMのCPU負荷メータにより、実際の負荷を計測しつつ検証)]
「TCPMP起動」→「バックグラウンドでMP3ファイルをリピート再生(負荷100%)」→「クロックアップ(520MHz)」
※数分〜数十分間隔で5回程度の状態チェックをソフトリセット含めて10回試行し、全て高クロック状態の維持を確認
「上記ファイル再生しつつエミュレータ(MorphGear/PocketSNESの2種を個別に調査)起動」→「TCPMPの終了」
※ROM読み込み以前の状態でも最低50%以上のCPU負荷があり、TCPMP終了後も高クロック状態を維持していた
※「メニュー表示」「ダイアログ表示」等エミュレータ本体から他のモジュールに処理が移行した際、負荷が10%以下程度に落ちたタイミングでクロックが標準に戻ることを確認
※上記メニュー/ダイアログ表示等を行なう間TCPMPを再生状態のままとし、ROM読み込み後にTCPMPを終了したところ、エミュレータ終了orダイアログ等再表示まで高クロックが維持できていることを確認

[考察]
以上の結果より、継続的にCPU負荷が発生する環境下では高クロック状態を維持できると判断した。
いずれのエミュレータにおいても、「Pause状態」では一定の負荷が発生しているため高クロック状態の維持が可能。
しかし、メニュー表示等によりCPUアイドル状態となり標準クロックに戻ってしまうため、実運用時には何らかの常駐ツールによる負荷継続が望ましい。
尚、CPU負荷計測の精度がそれほど高くないため、標準クロックに戻る際の閾値は判別できず。
※エミュレーション開始後に、必要に応じ「xclkcfg_03」を実行することで、再クロックアップ及び維持は可能。
また、MorphGear(572MHz駆動)のみの検証になるが、「MultikeyHook」等の常駐によるクロック維持状態で30fps程度だったものが、常駐ゼロでの検証下では「32〜33fps」となり、10%弱の性能向上が見られた。
キー入力時の負荷が大きい(上記常駐ゼロ状態で20fps強まで低下)ため誤差程度の性能向上だが、USBパッド等を利用するケースではそれなりに寄与すると思われる。

・・・ふぅ・・・そういうわけで「継続的にソコソコの負荷をかけるダミーアプリ」は、残念ながらあまり実用的ではなさそうです。
もしご検討下さっていたなら、本当に申し訳ありませんでした。でもZERO3Actionへの対応はご検討して頂けるとうれしいです。

毎度長文ですいません・・・・以後、ちょっと控えます