マビノギのウィンドウモードの時のサイズ
- 2019/04/20
- 05:18
今更感はあるけど、最近ちょっち気になったので、調べましたw
うちでは1366x768の解像度のノートと1600x1200の解像度のデスクトップを使っています。
両方ともWindows10で、マビノギをウィンドウモードで使っているのですが、
ゲーム内のウィンドウの配置云々により、解像度を1280x720に設定しております。
前は余り気にしてなかったのですが、
最近、マビのゲーム内ウィンドウが大きいものに変更されたりしていて、
縦方向がギリギリになってきてまして。
そしたら、ノートとデスクトップの表示の差が気になってきまして。
片方では下のメニューバーを最小化しないとボタンが押せず、
もう片方では最小化しなくてもギリギリ押せる。
解像度設定一緒なのになんでかいなー、と。
気になったので、スクショを取って調べてみたら、
幅は同じなのに高さが違うじゃあーりませんか。
なんでかな?
・ウィンドウモードでのウィンドウサイズの決まり方
ウィンドウモードでは、起動時に設定されていた解像度に従ってウィンドウサイズが決まります。
ゲーム中に変更しても、次回起動時にしか反映されません。
そして、
ゲーム画面部分を設定した解像度にしようとします。
どういうことかと言いますと、
フルスクリーンモードではディスプレイ全体を使ってゲーム画面を表示するので、ゲーム画面=解像度となりますが、
ウィンドウモードにはまずこれがあります。

そう、タスクバーです。
タスクバーが上/下にある場合、その分、高さが短くなります。
タスクバーを自動的に隠す設定にしてあると、短くなりません。
タスクバーを左/右に配置した場合も短くなりません。
ただ、左右については失念しているようで、幅が狭くなることはありません。^^;
※横幅の設定によってはゲーム画面の一部がタスクバーに隠されてしまいます
そして、ウィンドウはこんな感じで構成されております。

ウィンドウには枠とタイトルバーがあり、ゲーム画面はその中に表示されます。
つまり、枠とタイトルバーがある分ゲーム画面が小さくなります。
マビノギのゲーム内のウィンドウなどは解像度が変わっても、表示位置は基本的に変わりません。
そして、ゲーム画面の左上が基準となっていますので、
表示が小さくなると、右下からはみ出ていくことになります。
実際にWindows10で、ディスプレイの解像度と同じ解像度でウィンドウモードにしてみるとどうなるか?
画面の左右のはじはウィンドウ枠のはずなのに隙間があります。
なんでかな?
それは、Windows10のウィンドウが、それ以前と異なるからです。
Windows10ではこうなっています。

Windows10では枠の幅が1ドットしかありません。
しかし、それではサイズ変更のときにうまく枠をつかめません。
そこで、枠の外に見えないけどつかめるエリアがあります。
その見えないエリアを含めてウィンドウのサイズになっているので、
隙間があるように「見えている」のです。
そして、これは推測ではありますが、
マビノギ開発チームでは、とにかく
『ゲーム画面の中心を画面の中心にしたかった。』
のではないかとwww
というのも、ゲーム画面が指定解像度の縦の長さで表示できなかった場合、
ウィンドウの下側の隙間が大きく取られていて、そのサイズがタイトルバーのサイズと一致します。
つまりこんな感じ。

このようにウィンドウ配置時に下側に灰色の余裕を持って計算することで、
ゲーム画面の中心を画面の中心に配置しやすいのです。
これは作り手側の話になりますが、
ウィンドウを配置するときは、ウィンドウの左上の座標を指定するのですが、
左上が原点(座標0,0)になっていて、中心に配置するときは、
(画面の縦の高さ - ウィンドウの縦の高さ) ÷ 2
とすると、縦の位置が求められます。
が、そのまま計算すると、タイトルバーは上にしか付いてないので、
ゲーム画面の中心が、画面の中心よりタイトルバーの高さの半分ほど下にずれることになります。
そこで、上下にタスクバーがある想定で計算して中心に合わせようとしている、
まぁ、そんなとこだと思います。
結果として、その分、ゲーム画面の高さが更に短くなります。
※ゲーム画面の高さ+タイトルバーの高さ2つ分が画面の縦の解像度に収まらない場合のみ短くなります。
さて、ウィンドウモードでの画面のサイズのルールは判りました。
では、なぜノートとデスクトップで高さが違っていたのでしょうか?
ノートのゲーム画面の高さを計算してみましょう。
通常、小さいタスクバーボタンを使うとタスクバーの高さは30ドット、使わないと40ドットです。
うちでは画面を広く使いたいので、小さいボタンを使っております。
なので、使える高さは、
ノートの画面の縦の解像度 768 - タスクバーの高さ 30 = 738
ですね。
タイトルバーの高さは通常30ドット、タイトルバー側のウィンドウ枠の高さは1ドットなので、
タイトルバー分と、下側の空白の分としてもそれを引きます。
※タイトルバー側には見えない枠は存在しませんので枠の高さは1ドットのみです
738 - ( タイトルバーの高さと枠の高さ 31 x 2 ) = 676
ゲーム画面の高さは676になります。
実際のスクショでも測定してみましたが、一致しました。^^

幅は足りてるので、1280で予想通りです。
※この画像の上側以外の1ドット枠は消してあります
うちのノートでのゲーム解像度の高さは676が限界であることが判ります。
つまり、それ以上の解像度を指定しても、676までしか出ない、ということです。
現在、720で設定してあるので、設定よりも小さくなっています。
但し、手動でマウスで下端を引っ張り下げれば、ギリギリまで広げることは可能です。
追記:
下側には見えない枠の分は広げられない(Windows10の機能的に)ので、+26ドット分、つまり702まで広げることが出来ました。
ウィンドウの枠が画面外に出ていると、
マビノギの機能としてのスクショが撮れなくなる仕様がありますので、
今もそれが生きている場合、はみ出すとスクショが撮れなくなりますのでご注意ください。
※確認はしていないので、見えない枠もはみ出し対象になるのかは不明
さて、デスクトップの場合は、高さ1200なので、タスクバーの高さ分引いても720は十分確保できます。
タイトルバーがあっても、ゲーム画面の中心を画面の中心にするのも問題ありません。
ということは、デスクトップの場合はウィンドウの高さが720になっている?
確認してみましょう。

えー、なぜか716です。横は1280なのに。
縦4ドットどこいった?
解像度を変えて試してみましたが、収まるはずの高さなのに、全て4ドット足りませんでした。
ゲーム内部の計算補正なのか何なのか、あてはまりそうな明確な推測が出来ないので迷宮入りです。
これだと、ノートをフルスクリーンで使って、デスクトップをウィンドウにしても高さに違いが出てしまいますね。
ですが、うちのノートとデスクトップの縦の高さの差の原因は明確になりました。
みなさんのところでも、小さい解像度のPCに合わせてウィンドウ表示してる場合に違和感があれば、
その差のせいかもしれませんね。
今回は、マビノギのウィンドウモードでのゲーム画面の大きさの違いの検証を、改めてやってみました。^^
ソフト屋観点ではありますが、ノートに関しては納得できる結論が得られました。
複数PC持ちでなくとも、ネカフェなんかで同じようなことを感じる人もいるかもしれませんね。
ゲーム画面のサイズを同じにするツールでも作るかなぁ。
(既存のフリーのは試したけど、望んでる結果が得られなかったので。^^;
補足:
マビノギの環境設定は全てレジストリに保存されております。
設定してある解像度もそうです。
ちなみに、レジストリを書き換えて、1300x768とか設定にない値を書き込んでみましたが、
起動時に、それに近い低い解像度に置き換わるようです。
1280x768にならずに1024x768になったのは謎ですが。
比率4:3のものを採用しているだけかもしれません。
※昔のマビに16:9とか無かったんで
補足追記:
レジストリに入っているのは、環境設定の中でも、
垢やキャラに依存しない部分(画質設定等)のみです。
それ以外の設定は、
"\マイドキュメント\マビノギ\設定"フォルダに入っているファイルで管理していると思われます。
内容が判れば、音楽のボリューム設定とか、キャラごとでも共通に設定している部分を
一括設定するツールとか作るんだけどね。
暗号化解除とかめんどくさそうだしやっておりませぬ。^^;
うちでは1366x768の解像度のノートと1600x1200の解像度のデスクトップを使っています。
両方ともWindows10で、マビノギをウィンドウモードで使っているのですが、
ゲーム内のウィンドウの配置云々により、解像度を1280x720に設定しております。
前は余り気にしてなかったのですが、
最近、マビのゲーム内ウィンドウが大きいものに変更されたりしていて、
縦方向がギリギリになってきてまして。
そしたら、ノートとデスクトップの表示の差が気になってきまして。
片方では下のメニューバーを最小化しないとボタンが押せず、
もう片方では最小化しなくてもギリギリ押せる。
解像度設定一緒なのになんでかいなー、と。
気になったので、スクショを取って調べてみたら、
幅は同じなのに高さが違うじゃあーりませんか。
なんでかな?
・ウィンドウモードでのウィンドウサイズの決まり方
ウィンドウモードでは、起動時に設定されていた解像度に従ってウィンドウサイズが決まります。
ゲーム中に変更しても、次回起動時にしか反映されません。
そして、
ゲーム画面部分を設定した解像度にしようとします。
どういうことかと言いますと、
フルスクリーンモードではディスプレイ全体を使ってゲーム画面を表示するので、ゲーム画面=解像度となりますが、
ウィンドウモードにはまずこれがあります。
そう、タスクバーです。
タスクバーが上/下にある場合、その分、高さが短くなります。
タスクバーを自動的に隠す設定にしてあると、短くなりません。
タスクバーを左/右に配置した場合も短くなりません。
ただ、左右については失念しているようで、幅が狭くなることはありません。^^;
※横幅の設定によってはゲーム画面の一部がタスクバーに隠されてしまいます
そして、ウィンドウはこんな感じで構成されております。
ウィンドウには枠とタイトルバーがあり、ゲーム画面はその中に表示されます。
つまり、枠とタイトルバーがある分ゲーム画面が小さくなります。
マビノギのゲーム内のウィンドウなどは解像度が変わっても、表示位置は基本的に変わりません。
そして、ゲーム画面の左上が基準となっていますので、
表示が小さくなると、右下からはみ出ていくことになります。
実際にWindows10で、ディスプレイの解像度と同じ解像度でウィンドウモードにしてみるとどうなるか?
画面の左右のはじはウィンドウ枠のはずなのに隙間があります。
なんでかな?
それは、Windows10のウィンドウが、それ以前と異なるからです。
Windows10ではこうなっています。
Windows10では枠の幅が1ドットしかありません。
しかし、それではサイズ変更のときにうまく枠をつかめません。
そこで、枠の外に見えないけどつかめるエリアがあります。
その見えないエリアを含めてウィンドウのサイズになっているので、
隙間があるように「見えている」のです。
そして、これは推測ではありますが、
マビノギ開発チームでは、とにかく
『ゲーム画面の中心を画面の中心にしたかった。』
のではないかとwww
というのも、ゲーム画面が指定解像度の縦の長さで表示できなかった場合、
ウィンドウの下側の隙間が大きく取られていて、そのサイズがタイトルバーのサイズと一致します。
つまりこんな感じ。
このようにウィンドウ配置時に下側に灰色の余裕を持って計算することで、
ゲーム画面の中心を画面の中心に配置しやすいのです。
これは作り手側の話になりますが、
ウィンドウを配置するときは、ウィンドウの左上の座標を指定するのですが、
左上が原点(座標0,0)になっていて、中心に配置するときは、
(画面の縦の高さ - ウィンドウの縦の高さ) ÷ 2
とすると、縦の位置が求められます。
が、そのまま計算すると、タイトルバーは上にしか付いてないので、
ゲーム画面の中心が、画面の中心よりタイトルバーの高さの半分ほど下にずれることになります。
そこで、上下にタスクバーがある想定で計算して中心に合わせようとしている、
まぁ、そんなとこだと思います。
結果として、その分、ゲーム画面の高さが更に短くなります。
※ゲーム画面の高さ+タイトルバーの高さ2つ分が画面の縦の解像度に収まらない場合のみ短くなります。
さて、ウィンドウモードでの画面のサイズのルールは判りました。
では、なぜノートとデスクトップで高さが違っていたのでしょうか?
ノートのゲーム画面の高さを計算してみましょう。
通常、小さいタスクバーボタンを使うとタスクバーの高さは30ドット、使わないと40ドットです。
うちでは画面を広く使いたいので、小さいボタンを使っております。
なので、使える高さは、
ノートの画面の縦の解像度 768 - タスクバーの高さ 30 = 738
ですね。
タイトルバーの高さは通常30ドット、タイトルバー側のウィンドウ枠の高さは1ドットなので、
タイトルバー分と、下側の空白の分としてもそれを引きます。
※タイトルバー側には見えない枠は存在しませんので枠の高さは1ドットのみです
738 - ( タイトルバーの高さと枠の高さ 31 x 2 ) = 676
ゲーム画面の高さは676になります。
実際のスクショでも測定してみましたが、一致しました。^^
幅は足りてるので、1280で予想通りです。
※この画像の上側以外の1ドット枠は消してあります
うちのノートでのゲーム解像度の高さは676が限界であることが判ります。
つまり、それ以上の解像度を指定しても、676までしか出ない、ということです。
現在、720で設定してあるので、設定よりも小さくなっています。
但し、手動でマウスで下端を引っ張り下げれば、ギリギリまで広げることは可能です。
追記:
下側には見えない枠の分は広げられない(Windows10の機能的に)ので、+26ドット分、つまり702まで広げることが出来ました。
ウィンドウの枠が画面外に出ていると、
マビノギの機能としてのスクショが撮れなくなる仕様がありますので、
今もそれが生きている場合、はみ出すとスクショが撮れなくなりますのでご注意ください。
※確認はしていないので、見えない枠もはみ出し対象になるのかは不明
さて、デスクトップの場合は、高さ1200なので、タスクバーの高さ分引いても720は十分確保できます。
タイトルバーがあっても、ゲーム画面の中心を画面の中心にするのも問題ありません。
ということは、デスクトップの場合はウィンドウの高さが720になっている?
確認してみましょう。
えー、なぜか716です。横は1280なのに。
縦4ドットどこいった?
解像度を変えて試してみましたが、収まるはずの高さなのに、全て4ドット足りませんでした。
ゲーム内部の計算補正なのか何なのか、あてはまりそうな明確な推測が出来ないので迷宮入りです。
これだと、ノートをフルスクリーンで使って、デスクトップをウィンドウにしても高さに違いが出てしまいますね。
ですが、うちのノートとデスクトップの縦の高さの差の原因は明確になりました。
みなさんのところでも、小さい解像度のPCに合わせてウィンドウ表示してる場合に違和感があれば、
その差のせいかもしれませんね。
今回は、マビノギのウィンドウモードでのゲーム画面の大きさの違いの検証を、改めてやってみました。^^
ソフト屋観点ではありますが、ノートに関しては納得できる結論が得られました。
複数PC持ちでなくとも、ネカフェなんかで同じようなことを感じる人もいるかもしれませんね。
ゲーム画面のサイズを同じにするツールでも作るかなぁ。
(既存のフリーのは試したけど、望んでる結果が得られなかったので。^^;
補足:
マビノギの環境設定は全てレジストリに保存されております。
設定してある解像度もそうです。
ちなみに、レジストリを書き換えて、1300x768とか設定にない値を書き込んでみましたが、
起動時に、それに近い低い解像度に置き換わるようです。
1280x768にならずに1024x768になったのは謎ですが。
比率4:3のものを採用しているだけかもしれません。
※昔のマビに16:9とか無かったんで
補足追記:
レジストリに入っているのは、環境設定の中でも、
垢やキャラに依存しない部分(画質設定等)のみです。
それ以外の設定は、
"\マイドキュメント\マビノギ\設定"フォルダに入っているファイルで管理していると思われます。
内容が判れば、音楽のボリューム設定とか、キャラごとでも共通に設定している部分を
一括設定するツールとか作るんだけどね。
暗号化解除とかめんどくさそうだしやっておりませぬ。^^;