タイトル | : Re^2: フルスクリーン化 |
投稿日 | : 2013/03/15(Fri) 02:37 |
投稿者 | : のみ |
> 逆方向、というのはあまり考えなかった要素ではありますが。
> ちょっと対象のプログラム(およびプラグイン)について調べてみましたが、エミュレータですか・・・。
> 実装については「考えてみます」といたします。
>
> また、これに関してはWindowModePatchよりも対象のプラグインの設定を変更することで対応するのがよいと思われます。
> 記述にはDirectX9を使っているような節が見受けられましたので、DirectX9を使用して描画しているならティアリングはどの状態でも発生はしないと思われます。
> (DirectX9はほとんどの場合リフレッシュレートに同期して描画を行いますので)
> おそらく、WindowModePatchでその機能を実装しても状態は変わらないと思います。
>
> 解決方法があるとするならば、以下の状態を確認してみるのが良いのではないでしょうか?
> ・実行しているマシンの能力が不足して処理が追いついていない
> ・設定で画面更新の同期を無視するようになっている
> ・モニタのリフレッシュレートとエミュレータのリフレッシュレートが合っていない(モニタを60Hzで更新しているのにエミュレーションしている機材が50Hzで更新しているなど)
こんばんは。
早速のご返答ありがとうございます。
「考えてみます」との返答、助かります。
フレームレートとリフレッシュレートについて補足します。
私はいつも(このエミュレータにかぎらず)PCゲームをするときにはドライバ側で垂直同期をONにしてフルスクリーンモードでプレイしています。
こうしなければDirectXがフレームレートに制限をかけていないゲーム(わかりやすいもので言えばベンチマークなど)では当たり前ですがティアリングが発生してしまいます。
また、大抵のゲームは60でFPSを制限していますが、同期のタイミングが完全ではないのか、この場合でも垂直同期をONしていないとティアリングが発生します。
そしてグラフィックドライバ側の垂直同期には条件があり、DirectXやOpenGLのゲームが排他的に画面を専有してないと有功にできないようなのです。
ウィンドウモードの場合上記同期ズレが解消されず、激しく動くシーンではより顕著にティアリングが発生するようです。
神経質かもしれませんがこれがどうしても気になり、解決方法を探していました。
しかし「ウィンドウモードで起動するがフルスクリーンモードに切り替えられない」ケースが他に見つからず途方に暮れています。
Aeroの恩恵か、最近は仮想フルスクリーン(ウィンドウをフチ無しにして最前面で最大化する手法)が流行っています。
確かにAeroが有効ならば目に見えるティアリングは解消されるのですがそもそも重い上、ドライバの垂直同期ほど制度が高くありません。
突然の無茶な要望、申し訳ありませんでした。
これも何かのきっかけと、私もプログラムの勉強を始めようかと思います。
対応を期待しつつこちらでもがんばってみます。