Win10は難敵?

アバター
いわん
記事: 32
登録日時: 9年前

Win10は難敵?

投稿記事 by いわん » 8年前

仕事が忙しくなってきてしばらく趣味のプログラミングしてない(T_T)
Win10のノートパソコンを手に入れたので自作のプログラム動かしてみたらグラフィックが左上に偏ってる。
ディスプレイの設定が関係しているみたいなんだけど、Win8ではこんなことなかったけどなぁ。
GDIではもう描けないのかな。暇ができたら調査しよう。
添付ファイル
life_win10.png

YuO
記事: 947
登録日時: 14年前

Re: Win10は難敵?

投稿記事 by YuO » 8年前

単純に,コンソールウィンドウにグラフィックを描画しているからでしょう。
Windows 10 (10.0.14393)のコンソールウィンドウは,per-monitor dpi awareです。
つまり,「ウィンドウへ描画する側が表示されているモニターのDPI値を把握して適切にスケーリングして出力する」ウィンドウです。
そして,コンソールを作るプロセス(cmd.exeとかユーザープログラムとか)は,dpi unaware (未設定の場合。cmd.exeはsystem dpi awareの場合もある模様) なので,ウィンドウサイズはモニターのDPI値に依存して拡大されます。
結果,描画部分が偏ったのだと推測されます。
なお,描画用のウィンドウを自分で作っている場合,dpi awarenessが一致するためにこのようなことは通常起こりません。
► スポイラーを表示

アバター
いわん
記事: 32
登録日時: 9年前

Re: Win10は難敵?

投稿記事 by いわん » 8年前

per-monitor dpi aware というのは初めて知りました。
なるほど、DPI変更でまるごとサイズを変えてるんですね。
情報ありがとうございました。
DPIを考慮して描画するのはめんどくさいな・・・
コンソールプログラムで描くのはでがるに出来て気に入ってたんだけどそろそろ潮時かぁ。