トップページ > 過去ログ > 記事閲覧
フルスクリーンモードに対応した解像度を得たい(C#)
名前:ナムアニクラウド 日時: 2011/03/21 22:24

こちらのスレッドで質問をした者です。 tp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2193 おかげさまでGetDisplayModeを使えるようになったのですが、目的を達成することができませんでした。 目的は、C#版のDXライブラリを使ったアプリケーションを正常にフルスクリーンモードにできる解像度を得ることです。 (正常というのは、処理落ちしない、思ったとおりに描画できるということです) 正常にフルスクリーンモードにするためには、モニタやグラフィックカードが共にその解像度に対応していないといけません。 GetDisplayModeメソッドではフルスクリーンモードにできる解像度を得ることができます。 しかし、このメソッドで得られた解像度でも正常にフルスクリーンにできない解像度がありました。 自分の環境で、GetDisplayModeで得られた解像度とフルスクリーン時のその挙動を列挙すると、  320×200 異常A(デスクトップ左上に黒い矩形が表示されるだけ)  320×240 処理落ち(60fps→30fps)  400×300 異常A  512×384 異常A  640×480 処理落ち(60fps→30fps)  800×600 正常  1024×768 正常  1280×720 正常  1280×768 正常  1280×800 正常  1280×1024 正常  1360×768 正常  1440×900 正常  1680×1050 正常 そしてこれ以外の解像度ではフルスクリーンモードになるよう指定してもウィンドウモードとなります。(これは仕様) 正常に動作したのは「画面の設定」でディスプレイの解像度に指定できる解像度のようです。 どうやらGetDisplayModeメソッドで解像度を取得するだけでは、 必ずモニタとグラフィックカードが共に対応しているとは限らないようです。 処理落ちしないよう正常にフルスクリーンモードを利用できる解像度を得る方法はありますか?

Page: 1 |

Re: フルスクリーンモードに対応した解像度を得たい(C#) ( No.1 )
名前:いっち 日時:2011/03/27 14:48

念のためご使用のディスプレイを教えていただけますか?
Re: フルスクリーンモードに対応した解像度を得たい(C#) ( No.2 )
名前:管理人 日時:2011/03/27 17:20

私の知る限りでは GetDisplayMode で取得できる画面モードで正常に 動作するかどうかを事前に判断する手段はありません 申し訳ありませんが、列挙された 800x600 以下の解像度は無視するなどの 対処をするしかないかもしれません
Re: フルスクリーンモードに対応した解像度を得たい(C#) ( No.3 )
名前:ナムアニクラウド 日時:2011/03/29 17:28

管理人さん、回答ありがとうございます。 この件については諦めて、フルスクリーンの解像度はユーザーに選んでもらうことにしようと思います。

Page: 1 |