トップページ > 記事閲覧
「高い DPIスケールの動作を上書きします。」が正しく反映されない
名前:Saucer 日時: 2021/02/15 13:53

こんにちは、いつもお世話になっております!DXライブラリの更新、お疲れ様です! 高DPIデバイスでの画面スケーリング(拡大・縮小描画)について質問があります。 私のPC(ラップトップ)のモニターは何やら解像度・DPIが高いらしく、 このPC上でプログラムを始めて起動する際にはよくぼやけて描画されたり、 ウィンドウがコード内で設定されたサイズより大きく描画されたりします。 対策としては、下記のリンクに書いてあるような手順で、各アプリに Windowsの高DPIスケール設定の上書きを設定して、正しく描画させて きておりました。 ttps://novlog.me/win/win10-dpi-high/ さて、さきほど私のPC上でアプリ開発で使っているDXライブラリのファイルを 3.21(無印)から最新の3.22cに変えましたが、開発中のアプリがその 高DPIスケーリングの上書きを正しく反映しなくなりました… 具体的に言いますと、アプリの画面がやはりぼやけて描画され、アプリの ウィンドウが恐らく2倍?のサイズで描画されてしまいます。 この状態では、フルスクリーン時などはゲーム画面の一部が見えなくなるので 困っております… 一応アプリの設定をいつも通りFile Explorerでチェックしましたが、 高DPI設定は今まで通り上書きするように設定されておりました。 今まではその設定で正しく描画できていたのですが… また、DXライブラリファイルを前に使っていたバージョン3.21(無印) に戻したら、正しく描画されるようになりました。 そこで3.21(無印)以降の他の旧バージョンも複数試してみましたが、 どうやら3.21dまでは正しく描画され、3.21fからは正しく描画 されなくなっております。(3.22aだけは試しておりませんが) つまりこの問題は3.21dと3.21fの間のDXライブラリ側の変更に よるものでしょうか? …と、そこまで突き詰めたところで、「そういえばちゃんとライブラリ 更新履歴にDPI関連のことが書いてあるかチェックした方がいいのでは」 と思いチェックしたところ、3.21eの履歴に 「Windows版:モニタが高DPI設定になっていた場合も従来の DPI 96 を前提としたサイズでウィンドウが表示されるように処理を変更。」 と記述されておりますね。あまりDPIと描画の仕組みに詳しくはないのですが、 一応高DPI設定上書き無しの設定でプログラムを起動してみましたが、 それでも正しく描画されませんでした… 3.21fではウィンドウのサイズが正しくなりましたが画面はぼやけたままで、 3.22cではサイズの間違いもぼやけも残っておりました… どうしたらいいでしょうか。ご指導宜しくお願い致します!
メンテ

Page: 1 |

Re: 「高い DPIスケールの動作を上書きします。」が正しく反映されない ( No.1 )
名前:管理人 日時:2021/02/16 00:50

3.21eより前のバージョンでは高DPI設定の環境に対する処理を何も 書いていなかったのですが、3.21eで高DPI設定に関する処理を DXライブラリ内部で行うようになりましたので、載せていただいた URLのウェブサイトの解説にある設定は反映されなくなっています DPIの設定に関わらず指定のピクセル数のサイズでウィンドウを 表示されたい場合は DxLib_Init の実行前に SetWindowSizeExtendRate( 1.0 ); を実行してください そうすれば高DPI設定でも関係なく SetGraphMode で指定した通りの ピクセル数のサイズのウィンドウでプログラムが実行されます よろしければお試しください m(_ _)m
メンテ
Re: 「高い DPIスケールの動作を上書きします。」が正しく反映されない ( No.2 )
名前:Saucer(解決) 日時:2021/02/16 06:02

お返事ありがとうございます! SetWindowSizeExtendRate(1.0);で無事正しく表示されるようになりました! ご指導くださり誠に有難う御座いました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存